mq_notify(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

mq_notify(3c)

Standard C Library Functions                                     mq_notify(3C)



NAME
       mq_notify - notify process (or thread) that a message is available on a
       queue

SYNOPSIS
       #include <mqueue.h>

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

DESCRIPTION
       The mq_notify() function provides an asynchronous  mechanism  for  pro‐
       cesses  to  receive  notice  that  messages  are available in a message
       queue, rather than synchronously blocking (waiting) in mq_receive(3C).


       If notification is  not  NULL,  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 notification 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 notification 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  NULL  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 registra‐
       tion.


       When the notification is sent to the registered process, its  registra‐
       tion 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  mq_receive(3C)  waiting
       to  receive a message when a message arrives at the queue, the arriving
       message will be received by  the  appropriate  mq_receive(3C),  and  no
       notification  will  be  sent  to  the registered process. The resulting
       behavior is as if the message queue remains empty, and  this  notifica‐
       tion  will  not  be  sent  until  the next arrival of a message at this
       queue.


       Any notification registration is removed if the calling process  either
       closes the message queue or exits.

RETURN VALUES
       Upon  successful  completion,  mq_notify()  returns  0;  otherwise,  it
       returns −1 and sets errno to indicate the error.

ERRORS
       The mq_notify() 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  mes‐
                sage queue.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe _  Stan‐
       dardSee standards(7).


SEE ALSO
       mq_close(3C),       mq_open(3C),      mq_receive(3C),      mq_send(3C),
       mqueue.h(3HEAD),  siginfo.h(3HEAD),   signal.h(3HEAD),   attributes(7),
       standards(7)



Oracle Solaris 11.4               5 Feb 2008                     mq_notify(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3