*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: mq_receive | Section: 3 | Source: Digital UNIX | File: mq_receive.3.gz
mq_receive(3) Library Functions Manual mq_receive(3) NAME mq_receive - Receives the oldest, highest-priority message from the message queue (P1003.1b) SYNOPSIS #include <mqueue.h> ssize_t mq_receive ( mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned int *msg_prio); PARAMETERS mqdes Specifies a message queue by descriptor. *msg_ptr A pointer to a buffer to receive the message. msg_len Specifies the size of the receive buffer identified by the msg_ptr argument. *msg_prio A pointer to a location to receive the message priority. DESCRIPTION Receives the oldest, highest-priority message from the message queue. The message is removed from the queue and transferred to the buffer pointed to by the msg_ptr argument. If the specified message queue is empty and the O_NONBLOCK flag is not set with the mqdes argument, the mq_receive function blocks until a message is put on the queue, or until the mq_receive function is inter- rupted by a signal. If more than one process is waiting to receive a message when a message arrives at an empty queue, the highest-priority process that has been waiting the longest is selected to receive the message. If the message queue is empty and the O_NONBLOCK flag is set, no message is removed from the queue, and an error is returned. RETURN VALUES On successful completion, the function returns the length of the se- lected message. Otherwise, the function returns the value -1 and sets errno to indicate the error. No message is removed from the queue. ERRORS The mq_receive function fails under the following conditions: [EAGAIN] O_NONBLOCK was set in the message description associated with mqdes, and the specified message queue is empty. [EBADF] The mqdes argument is not a valid message queue descrip- tor open for reading. [EBADMSG] The implementation has detected a data corruption prob- lem with the message. [EFAULT] Internal virtual memory error. [EINTR] The mq_receive function was interrupted by a signal. [EMSGSIZE] The specified message buffer size, msg_len is less than the message size attribute of the message queue. RELATED INFORMATION Functions: mq_send(3) delim off mq_receive(3)

Navigation Options