FreeBSD Manual Pages
SIGEVENT(3) FreeBSD Library Functions Manual SIGEVENT(3) NAME sigevent -- asynchronous event notification 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_kqueue kqueue(2) file de- scriptor unsigned short sigev_notify_kevent_flags kevent flags lwpid_t sigev_notify_thread_id LWP ID void (*)(union sigval) sigev_notify_function callback function pointer pthread_attr_t * sigev_notify_attributes callback 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 struc- ture of the queued signal. SIGEV_THREAD The notification function in sigev_notify_function is called in a separate thread context. The thread is cre- ated 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"). FreeBSD 13.0 July 15, 2016 FreeBSD 13.0
NAME | SYNOPSIS | DESCRIPTION | NOTES | SEE ALSO | STANDARDS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sigevent&sektion=3&manpath=FreeBSD+12.0-RELEASE>