table of contents
other versions
- wheezy 3.44-1
- jessie 3.74-1
- jessie-backports 4.10-2~bpo8+1
- testing 4.10-2
- unstable 4.10-2
other sections
MQ_SEND(3) | Linux Programmer's Manual | MQ_SEND(3) |
NAME¶
mq_send, mq_timedsend - send a message to a message queueSYNOPSIS¶
#include <mqueue.h>int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio);#include <time.h> #include <mqueue.h>int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_XOPEN_SOURCE >= 600 ||
_POSIX_C_SOURCE >= 200112L
DESCRIPTION¶
mq_send() adds the message pointed to by msg_ptr to the message queue referred to by the descriptor mqdes. The msg_len argument specifies the length of the message pointed to by msg_ptr; this length must be less than or equal to the queue's mq_msgsize attribute. Zero-length messages are allowed.struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ };
If the message queue is full, and the timeout has already expired by the time of the call, mq_timedsend() returns immediately.
RETURN VALUE¶
On success, mq_send() and mq_timedsend() return zero; on error, -1 is returned, with errno set to indicate the error.ERRORS¶
- EAGAIN
- The queue was full, and the O_NONBLOCK flag was set for the message queue description referred to by mqdes.
- EBADF
- The descriptor specified in mqdes was invalid.
- EINTR
- The call was interrupted by a signal handler; see signal(7).
- EINVAL
- The call would have blocked, and abs_timeout was invalid, either because tv_sec was less than zero, or because tv_nsec was less than zero or greater than 1000 million.
- EMSGSIZE
- msg_len was greater than the mq_msgsize attribute of the message queue.
- ETIMEDOUT
- The call timed out before a message could be transferred.
CONFORMING TO¶
POSIX.1-2001.NOTES¶
On Linux, mq_timedsend() is a system call, and mq_send() is a library function layered on top of that system call.SEE ALSO¶
mq_close(3), mq_getattr(3), mq_notify(3), mq_open(3), mq_receive(3), mq_unlink(3), mq_overview(7), time(7)COLOPHON¶
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.2010-09-20 | Linux |