Standard C Library Functions mqnotify(3C)
NAME
mqnotify - notify process (or thread) that a message is
available on a queue
SYNOPSIS
#include
int mqnotify(mqdt mqdes, const struct sigevent *notification);
DESCRIPTION
The mqnotify() function provides an asynchronous mechanism
for processes to receive notice that messages are available
in a message queue, rather than synchronously blocking
(waiting) in mqreceive(3C).
If notification is not NUL, this function registers the
calling process to be notified of message arrival at an
empty message queue associated with the message queue
descriptor, mqdes. The notification specified by notifica-
tion will be sent to the process when the message queue
transitions from empty to non-empty. See signal.h(3HEAD). At
any time, only one process may be registered for notifica-
tion by a specific 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 will fail.
If notification is NUL and the process is currently
registered for notification by the specified message queue,
the existing registration is removed. The message queue is
then available for future registration.
When the notification is sent to the registered process, its
registration is removed. The message queue is then available
for registration.
If a process has registered for notification of message
arrival at a message queue and some processes is blocked in
mqreceive(3C) waiting to receive a message when a message
arrives at the queue, the arriving message will be received
by the appropriate mqreceive(3C), and no notification will
be sent to the registered process. The resulting behavior is
as if the message queue remains empty, and this notification
will not be sent until the next arrival of a message at this
queue.
SunOS 5.11 Last change: 5 Feb 2008 1
Standard C Library Functions mqnotify(3C)
Any notification registration is removed if the calling pro-
cess either closes the message queue or exits.
RETURN VALUES
Upon successful completion, mqnotify() returns 0; other-
wise, it returns -1 and sets errno to indicate the error.
ERORS
The mqnotify() function will fail if:
EBADF The mqdes argument is not a valid message queue
descriptor.
EBUSY A process is already registered for notification by
the message queue.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
Standard See standards(5).
SEE ALSO
mqclose(3C), mqopen(3C), mqreceive(3C), mqsend(3C),
mqueue.h(3HEAD), siginfo.h(3HEAD), signal.h(3HEAD), attri-
butes(5), standards(5)
SunOS 5.11 Last change: 5 Feb 2008 2
|