|
NAMEmq_receive , mq_timedreceive
—
receive a message from message queue (REALTIME)
LIBRARYPOSIX Real-time Library (librt, -lrt)SYNOPSIS#include <mqueue.h>
ssize_t
ssize_t
DESCRIPTIONThemq_receive () system call receives oldest of the
highest priority message(s) from the message queue specified by
mqdes. If the size of the buffer in bytes, specified by
the msg_len argument, is less than the
mq_msgsize attribute of the message queue, the system
call will fail and return an error. Otherwise, the selected message will be
removed from the queue and copied to the buffer pointed to by the
msg_ptr argument.
If the argument msg_prio is not
The The timeout expires when the absolute time specified by abs_timeout passes, as measured by the clock on which timeouts are based (that is, when the value of that clock equals or exceeds abs_timeout), or if the absolute time specified by abs_timeout has already been passed at the time of the call. The timeout is based on the RETURN VALUESUpon successful completion, themq_receive () and
mq_timedreceive () system calls return the length of
the selected message in bytes and the message is removed from the queue.
Otherwise, no message is removed from the queue, the system call returns a
value of -1, and the global variable errno is set to
indicate the error.
ERRORSThemq_receive () and
mq_timedreceive () system calls will fail if:
SEE ALSOmq_open(2), mq_send(2), mq_timedsend(2)STANDARDSThemq_receive () and
mq_timedreceive () system calls conform to
IEEE Std 1003.1-2004 (“POSIX.1”).
HISTORYSupport for POSIX message queues first appeared in FreeBSD 7.0.COPYRIGHTPortions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
Visit the GSP FreeBSD Man Page Interface. |