diff options
Diffstat (limited to 'lib/libc/sys/mq_send.2')
-rw-r--r-- | lib/libc/sys/mq_send.2 | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/lib/libc/sys/mq_send.2 b/lib/libc/sys/mq_send.2 deleted file mode 100644 index 6f18b90c14bc..000000000000 --- a/lib/libc/sys/mq_send.2 +++ /dev/null @@ -1,236 +0,0 @@ -.\" Copyright (c) 2005 David Xu <davidxu@FreeBSD.org> -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice(s), this list of conditions and the following disclaimer as -.\" the first lines of this file unmodified other than the possible -.\" addition of one or more copyright notices. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice(s), this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY -.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE -.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" Portions 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. -.\" -.\" $FreeBSD$ -.\" -.Dd November 29, 2005 -.Dt MQ_SEND 2 -.Os -.Sh NAME -.Nm mq_send , mq_timedsend -.Nd "send a message to message queue (REALTIME)" -.Sh LIBRARY -.Lb librt -.Sh SYNOPSIS -.In mqueue.h -.Ft int -.Fo mq_send -.Fa "mqd_t mqdes" -.Fa "const char *msg_ptr" -.Fa "size_t msg_len" -.Fa "unsigned msg_prio" -.Fc -.Ft int -.Fo mq_timedsend -.Fa "mqd_t mqdes" -.Fa "const char *msg_ptr" -.Fa "size_t msg_len" -.Fa "unsigned msg_prio" -.Fa "const struct timespec *abs_timeout" -.Fc -.Sh DESCRIPTION -The -.Fn mq_send -system call adds the message pointed to by the argument -.Fa msg_ptr -to the message queue specified by -.Fa mqdes . -The -.Fa msg_len -argument specifies the length of the message, in bytes, pointed to by -.Fa msg_ptr . -The value of -.Fa msg_len -should be less than or equal to the -.Va mq_msgsize -attribute of the message queue, or -.Fn mq_send -will fail. -.Pp -If the specified message queue is not full, -.Fn mq_send -will behave as if the message is inserted into the message queue at -the position indicated by the -.Fa msg_prio -argument. -A message with a larger numeric value of -.Fa msg_prio -will be inserted before messages with lower values of -.Fa msg_prio . -A message will be inserted after other messages in the queue, if any, -with equal -.Fa msg_prio . -The value of -.Fa msg_prio -should be less than -.Brq Dv MQ_PRIO_MAX . -.Pp -If the specified message queue is full and -.Dv O_NONBLOCK -is not set in the message queue description associated with -.Fa mqdes , -.Fn mq_send -will block until space becomes available to enqueue the -message, or until -.Fn mq_send -is interrupted by a signal. -If more than one thread is -waiting to send when space becomes available in the message queue and -the Priority Scheduling option is supported, then the thread of the -highest priority that has been waiting the longest will be unblocked -to send its message. -Otherwise, it is unspecified which waiting thread -is unblocked. -If the specified message queue is full and -.Dv O_NONBLOCK -is set in the message queue description associated with -.Fa mqdes , -the message will not be queued and -.Fn mq_send -will return an error. -.Pp -The -.Fn mq_timedsend -system call will add a message to the message queue specified by -.Fa mqdes -in the manner defined for the -.Fn mq_send -system call. -However, if the specified message queue is full and -.Dv O_NONBLOCK -is not set in the message queue description associated with -.Fa mqdes , -the wait for sufficient room in the queue will be terminated when -the specified timeout expires. -If -.Dv O_NONBLOCK -is set in the message queue description, this system call is -equivalent to -.Fn mq_send . -.Pp -The timeout will expire when the absolute time specified by -.Fa abs_timeout -passes, as measured by the clock on which timeouts are based (that is, -when the value of that clock equals or exceeds -.Fa abs_timeout ) , -or if the absolute time specified by -.Fa abs_timeout -has already been passed at the time of the call. -.Pp -The timeout is based on the -.Dv CLOCK_REALTIME -clock. -.Sh RETURN VALUES -Upon successful completion, the -.Fn mq_send -and -.Fn mq_timedsend -system calls return a value of zero. -Otherwise, no message will be -enqueued, the system calls return \-1, and -the global variable -.Va errno -is set to indicate the error. -.Sh ERRORS -The -.Fn mq_send -and -.Fn mq_timedsend -system calls -will fail if: -.Bl -tag -width Er -.It Bq Er EAGAIN -The -.Dv O_NONBLOCK -flag is set in the message queue description associated with -.Fa mqdes , -and the specified message queue is full. -.It Bq Er EBADF -The -.Fa mqdes -argument is not a valid message queue descriptor open for writing. -.It Bq Er EINTR -A signal interrupted the call to -.Fn mq_send -or -.Fn mq_timedsend . -.It Bq Er EINVAL -The value of -.Fa msg_prio -was outside the valid range. -.It Bq Er EINVAL -The process or thread would have blocked, and the -.Fa abs_timeout -parameter specified a nanoseconds field value less than zero or greater -than or equal to 1000 million. -.It Bq Er EMSGSIZE -The specified message length, -.Fa msg_len , -exceeds the message size attribute of the message queue. -.It Bq Er ETIMEDOUT -The -.Dv O_NONBLOCK -flag was not set when the message queue was opened, but the timeout -expired before the message could be added to the queue. -.El -.Sh SEE ALSO -.Xr mq_open 2 , -.Xr mq_receive 2 , -.Xr mq_setattr 2 , -.Xr mq_timedreceive 2 -.Sh STANDARDS -The -.Fn mq_send -and -.Fn mq_timedsend -system calls conform to -.St -p1003.1-2004 . -.Sh HISTORY -Support for -.Tn POSIX -message queues first appeared in -.Fx 7.0 . -.Sh COPYRIGHT -Portions 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. |