src | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
minitalk.h | ||
minitalk.pdf | ||
Readme.md | ||
test.sh |
Minitalk
Minitalk is a simple project that requires you to use unix signals to send over strings between 2 programs.
We can only use SIGUSR1 and SIGUSR2 and we can use the kill function to send them over
Improvements
Add support for multiple clients at the same time
Client
- client pings server every 100 msecs, and only starts writing after receiving SIGUSR2 back
- client sends \0 when done
Server
- server waits for a signal when pid = 1
- when server receives signal it sets the pid to the sender pid
- it keeps ignoring signals from other PIDs untill it received \0 from the current pid
- after \0 is received pid is set back to 1
Usage
- Simply clone or download the repository
- Run
make
in the cloned directory - Start the server with
./server
in the cloned directory - Open a second terminal in the same directory and run
./client [PID from server] ["Message in quotes"]
Tester
- add valgrind to tester
- check for -Wall -Werror -Wextra
Usage
- Download test.sh into your own minitalk directory
- Make the file executable
chmod +x test.sh
- Run
./test.sh
to start the test