tail head cat sleep
QR code linking to this page

Manual Pages  — SIGEVENT

NAME

sigevent – asynchronous event notification

CONTENTS

SYNOPSIS

#include <signal.h>

DESCRIPTION

Some operations permit threads to request asychronous notification of events via a struct sigevent structure. This structure contains several fields that describe the requested notification:
Type Member Description

int
sigev_notify notification method

int
sigev_signo signal number

union sigval
sigev_value signal value

int
sigev_notify_kqueuekqueue(2) file descriptor

unsigned short
sigev_notify_kevent_flags kevent flags

lwpid_t
sigev_notify_thread_id LWP ID

void (*)(union sigval)
sigev_notify_functioncallback function pointer

pthread_attr_t *
sigev_notify_attributescallback thread attributes

The sigev_notify field specifies the notification method used when the event triggers:
SIGEV_NONE No notification is sent.
SIGEV_SIGNAL The signal sigev_signo is queued as a real-time signal to the calling process. The value stored in sigev_value will be present in the si_value of the siginfo_t structure of the queued signal.
SIGEV_THREAD The notification function in sigev_notify_function is called in a separate thread context. The thread is created with the attributes specified in *sigev_notify_attributes. The value stored in sigev_value is passed as the sole argument to sigev_notify_function. If sigev_notify_attributes is NULL, the thread is created with default attributes.
SIGEV_KEVENT A new kevent is posted to the kqueue sigev_notify_kqueue. The udata member of the kevent structure contains the value stored in sigev_value. The meaning of other fields in the kevent are specific to the type of triggered event.
SIGEV_THREAD_ID
  The signal sigev_signo is queued to the thread whose LWP ID is sigev_notify_thread_id. The value stored in sigev_value will be present in the si_value of the siginfo_t structure of the queued signal.

NOTES

Note that programs wishing to use SIGEV_THREAD notifications must link against the POSIX Real\-time Library (librt, -lrt)

SEE ALSO

aio_read(2), mq_notify(2), timer_create(2), siginfo(3)

STANDARDS

The struct sigevent type conforms to IEEE Std 1003.1-2004 ("POSIX.1").

SIGEVENT (3) July 15, 2016

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

A typical Unix /bin or /usr/bin directory contains a hundred different kinds of programs, written by dozens of egotistical programmers, each with its own syntax, operating paradigm, rules of use ... strategies for specifying options, and different sets of constraints.
— The Unix Haters' handbook