Skip to content

msgrcv

Retrieve a message from the queue

Declaration

Source position: ipc.pp line 658

  function msgrcv(msqid: cint; msgp: PMSGbuf; msgsz: size_t; 
                 msgtyp: clong; msgflg: cint) : cint;

Description

msgrcv retrieves a message of type msgtyp from the message queue with ID msqid. msgtyp corresponds to the mtype field of the TMSGbuf record. The message is stored in the MSGbuf structure pointed to by msgp.

The msgflg parameter can be used to control the behaviour of the msgrcv call. It consists of an ORed combination of the following flags:

0
No special meaning.
IPC_NOWAIT
if no messages are available, then the call returns immediately, with the ENOMSG error.
MSG_NOERROR
If the message size is wrong (too large), no error is generated, instead the message is truncated. Normally, in such cases, the call returns an error (E2BIG)

The function returns True if the message was received correctly, False otherwise.

For an example, see msgctl .

Errors

In case of error, False is returned, and IPCerror is set.

See also

Name Description
msgctl Perform various operations on a message queue
msgget Return message queue ID, possibly creating the queue
msgsnd Send a message to the message queue