Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SIGEVENT(3)		 BSD 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").

BSD				 July 15, 2016				   BSD

NAME | SYNOPSIS | DESCRIPTION | NOTES | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=sigevent&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help