mirror of https://github.com/mkerrisk/man-pages
89 lines
3.1 KiB
Plaintext
89 lines
3.1 KiB
Plaintext
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "MQ_NOTIFY" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" mq_notify
|
||
|
.SH NAME
|
||
|
mq_notify \- notify process that a message is available (\fBREALTIME\fP)
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fB#include <mqueue.h>
|
||
|
.br
|
||
|
.sp
|
||
|
int mq_notify(mqd_t\fP \fImqdes\fP\fB, const struct sigevent *\fP\fInotification\fP\fB);
|
||
|
\fP
|
||
|
\fB
|
||
|
.br
|
||
|
\fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
If the argument \fInotification\fP is not NULL, this function shall
|
||
|
register the calling process to be notified of message
|
||
|
arrival at an empty message queue associated with the specified message
|
||
|
queue descriptor, \fImqdes\fP. The notification specified
|
||
|
by the \fInotification\fP argument shall be sent to the process when
|
||
|
the message queue transitions from empty to non-empty. At any
|
||
|
time, only one process may be registered for notification by a message
|
||
|
queue. If the calling process or any other process has
|
||
|
already registered for notification of message arrival at the specified
|
||
|
message queue, subsequent attempts to register for that
|
||
|
message queue shall fail.
|
||
|
.LP
|
||
|
If \fInotification\fP is NULL and the process is currently registered
|
||
|
for notification by the specified message queue, the
|
||
|
existing registration shall be removed.
|
||
|
.LP
|
||
|
When the notification is sent to the registered process, its registration
|
||
|
shall be removed. The message queue shall then be
|
||
|
available for registration.
|
||
|
.LP
|
||
|
If a process has registered for notification of message arrival at
|
||
|
a message queue and some thread is blocked in \fImq_receive\fP() waiting
|
||
|
to receive a message when a message arrives at the queue, the
|
||
|
arriving message shall satisfy the appropriate \fImq_receive\fP().
|
||
|
The resulting
|
||
|
behavior is as if the message queue remains empty, and no notification
|
||
|
shall be sent.
|
||
|
.SH RETURN VALUE
|
||
|
.LP
|
||
|
Upon successful completion, the \fImq_notify\fP() function shall return
|
||
|
a value of zero; otherwise, the function shall return a
|
||
|
value of -1 and set \fIerrno\fP to indicate the error.
|
||
|
.SH ERRORS
|
||
|
.LP
|
||
|
The \fImq_notify\fP() function shall fail if:
|
||
|
.TP 7
|
||
|
.B EBADF
|
||
|
The \fImqdes\fP argument is not a valid message queue descriptor.
|
||
|
.TP 7
|
||
|
.B EBUSY
|
||
|
A process is already registered for notification by the message queue.
|
||
|
.sp
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH EXAMPLES
|
||
|
.LP
|
||
|
None.
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
\fImq_open\fP() , \fImq_send\fP() , \fImq_timedsend\fP() , \fImsgctl\fP()
|
||
|
, \fImsgget\fP() , \fImsgrcv\fP() , \fImsgsnd\fP() , the
|
||
|
Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<mqueue.h>\fP
|
||
|
.SH COPYRIGHT
|
||
|
Portions of this text are reprinted and reproduced in electronic form
|
||
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
||
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
||
|
Specifications Issue 6, Copyright (C) 2001-2003 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 .
|