msgrcv¶
Retrieve a message from the queue.
Declaration¶
Source position: ipc.pp line 667
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.