Referencing IPC Resources

The UNIX kernel provides IPC ID values for processes to refer to specific instances of message queues, shared memory, and semaphore sets. The IPC ID is an integer value that is determined by the kernel, and is not known by the calling process until it has been returned in a create call. The IPC ID can be zero or positive, but it is never negative. The IPC ID is similar to a file descriptor for a specific IPC resource.

Although the IPC ID value is a convenient handle for resources once they are created, they are not well suited for a prearranged rendezvous. If three different processes must attach to a shared memory region, how do the two processes that did not create the shared region find out what the IPC ID of that ...

Get Advanced UNIX Programming 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.