struct msg_msgseg {

struct msg_msgseg* next;

/* the next part of the message follows immediately */

Again, the message text immediately follows the data structure instance. next is used to enable the message to be spread over any number of pages.

Both sender and receiver processes can go to sleep when communicating via message queues — senders while they are attempting to write a message on a queue whose maximum capacity has already been reached; receivers when they want to retrieve a message from a queue although none has arrived.

Sleeping senders are placed on the q_senders list of msg_queue using the following data structure:

Continue reading here: Ipcmsgc

Was this article helpful?

0 0