mq_notify man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

mq_notify(3RT)		  Realtime Library Functions		mq_notify(3RT)

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

SYNOPSIS
       cc [ flag... ] file... -lrt [ library... ]
       #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(3RT).

       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.  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, subse‐
       quent attempts to register for that message queue will fail.

       The notification argument points to a structure that defines  both  the
       signal  to  be  generated  and how the calling process will be notified
       upon I/O completion. If notification->sigev_notify is SIGEV_NONE,  then
       no  signal will be posted upon I/O completion, but the error status and
       the return status for the operation will be set appropriately. If noti‐
       fication->sigev_notify  is  SIGEV_SIGNAL,  then the signal specified in
       notification->sigev_signo will be sent to the process. If  the  SA_SIG‐
       INFO flag is set for that signal number, then the signal will be queued
       to the process and the  value  specified	 in  notification->sigev_value
       will  be	 the  si_value	component  of  the  generated signal (see sig‐
       info.h(3HEAD)).

       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 be available	for  registra‐
       tion.

       If  a  process  has registered for notification of message arrival at a
       message queue and some processes is blocked in mq_receive(3RT)  waiting
       to  receive a message when a message arrives at the queue, the arriving
       message will be received by the	appropriate  mq_receive(3RT),  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
		       message queue.

       ENOSYS	       The mq_notify() function is not supported by  the  sys‐
		       tem.

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       mqueue.h(3HEAD),	  siginfo.h(3HEAD),   signal.h(3HEAD),	mq_close(3RT),
       mq_open(3RT),  mq_receive(3RT),	mq_send(3RT),	attributes(5),	 stan‐
       dards(5)

NOTES
       Solaris 2.6 was the first release to support the Asynchronous Input and
       Output option. Prior to this release, this function always returned  −1
       and set errno to ENOSYS.

SunOS 5.10			  28 Jun 2002			mq_notify(3RT)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net