IPC, threads, and the process-shared mutex

Visualize a large application that consists of several independent multithreaded processes. Now, if the processes want to communicate with each other (and they often will want to), how can this be achieved? The answer, of course, is Inter -process Communication (IPC)—mechanisms that exist for this very purpose. Broadly speaking, there are several IPC mechanisms available on the typical Unix/Linux platforms; these include shared memory (as well as the mmap(2)), message queues, semaphores (typically for synchronization), named (FIFO) and unnamed pipes, sockets (Unix and internet domain), and, to some extent, signals.

Unfortunately, due to space constraints, we do not cover process IPC mechanisms in ...

Get Hands-On System Programming with Linux now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.