*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: mq_notify | Section: 3 | Source: Digital UNIX | File: mq_notify.3.gz
mq_notify(3) Library Functions Manual mq_notify(3) NAME mq_notify - Attaches a request for asynchronous signal notification to a message queue (P1003.1b) SYNOPSIS #include <mqueue.h> int mq_notify ( mqd_t mqdes, const struct sigevent *notification); PARAMETERS mqdes Specifies a message queue descriptor. *notification Specifies a signal to be sent when the specified queue ac- cepts a message. If the notification argument is NULL, and the process has previously attached a notification request to the message queue with this mqdes argument, notification request is detached and the queue is available for another process to attach a notification request. DESCRIPTION Attaches a request for asynchronous signal notification to a message queue for the calling process. Following a call to this function, the specified signal is sent to the calling process when the queue transi- tions from empty to non-empty. Two or more processes cannot attach no- tification requests to the same queue at the same time. If a process has attached a notification request and any process is blocked in the execution of the mq_receive function waiting to receive a message when a message arrives at the queue, then the appropriate mq_receive function is completed and the notification remains pending. When the notification has been sent, the registration is canceled. In effect, it is a one-shot notification and must be re-registered if re- quired. Note that the POSIX IPC functions are not reentrant with respect to signals. For example, if your application were to use a signal to no- tify it that a queue has become non-empty and then attempt to call mq_receive from the signal handler, the signal handler must reside in a thread other than the tread that called mq_send. Otherwise, a deadlock on internal locks would occur. RETURN VALUES On successful completion, the function returns the value 0; otherwise, the function returns the value -1 and sets errno to indicate the error. ERRORS The mq_notify function fails under the following conditions: [EBADF] The mqdes argument is not a valid message queue descrip- tor. [EBUSY] A process has already attached to this message queue for asynchronous notification, or the calling process at- tempted to cancel a request that was attached by another process. [EINVAL] The requested signo is invalid, or the sigev_notify field of the notification structure does not equal SIGEV_SIGNAL. RELATED INFORMATION Functions: mq_open(3), mq_send(3) delim off mq_notify(3)

Navigation Options