stuff
This commit is contained in:
35
Examples/ipc/README.md
Normal file
35
Examples/ipc/README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Inter-process communication (IPC) examples
|
||||
|
||||
CS3841 examples using IPC mechanisms to communicate between processes
|
||||
|
||||
* ipcfs1.c - Using the file system for inter-process communication
|
||||
Shows a problem with the fact that the file position pointer is shared between parent and childUsing fork to create two processes
|
||||
|
||||
* ipcfs2.c - Using the file system for inter-process communication
|
||||
Fixes the file position pointer problem in ipcfs1.c by using lseek to reset the pointer to the beginning
|
||||
Shows the frustration with using the file system for IPC by needing to move the file position pointer around
|
||||
|
||||
* ipcpipe1.c - Using a pipe to communicate data from a child process to a parent process
|
||||
|
||||
* ipcpipe2.c - Pipes are unidirectional and require two pipes to send data in two directions
|
||||
|
||||
* ipcmsg1.c - Using a message queue to send data from a parent process to a child process
|
||||
NOTE: message queues are persistent
|
||||
|
||||
* ipcmsg2.c - ses message queues to send multiple messages between two processes
|
||||
Shows what can happen with blocking queues when the queue gets full
|
||||
NOTE: message queues are persistent
|
||||
|
||||
* signal1.c - Shows how to set up a signal handler for the interrupt (CTRL+C) signal
|
||||
|
||||
* signal2.c - Shows how to set up a signal handler for the segmentation fault signal
|
||||
Unfortunately does not fix the segmentation fault and essentially loops forever
|
||||
|
||||
* ipcsignal.c - Shows how to use the kill system call to send a signal from one process to another
|
||||
|
||||
* ipcshm1.c - Uses shared memory to send data from a child process to a parent process
|
||||
NOTE: named shared memory segments are persistent
|
||||
|
||||
* ipcshm2.c - Uses shared memory to send data from a child process to a parent process
|
||||
Uses shm\_unlink to remove the shared memory when done
|
||||
NOTE: named shared memory segments are persistent
|
||||
Reference in New Issue
Block a user