trusty (3) mq_notify.3posix.gz

Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       mq_notify - notify process that a message is available (REALTIME)

SYNOPSIS

       #include <mqueue.h>

       int mq_notify(mqd_t mqdes, const struct sigevent *notification);

DESCRIPTION

       If the argument notification 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,
       mqdes.  The  notification  specified  by  the notification 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.

       If notification is NULL and the process is currently registered for notification by the specified message
       queue, the existing registration shall be removed.

       When the notification is sent to the registered process, its registration shall be removed.  The  message
       queue shall then be available for registration.

       If  a  process  has  registered for notification of message arrival at a message queue and some thread is
       blocked in mq_receive() waiting to receive a message when a message arrives at the  queue,  the  arriving
       message  shall  satisfy  the appropriate mq_receive().  The resulting behavior is as if the message queue
       remains empty, and no notification shall be sent.

RETURN VALUE

       Upon successful completion, the mq_notify() function  shall  return  a  value  of  zero;  otherwise,  the
       function shall return a value of -1 and set errno to indicate the error.

ERRORS

       The mq_notify() function shall 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.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       mq_open() , mq_send() , mq_timedsend() , msgctl() , msgget() , msgrcv() , msgsnd() , the Base Definitions
       volume of IEEE Std 1003.1-2001, <mqueue.h>

       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 .