Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

Linux 2.6 - man page for sigevent (linux section 7)

SIGEVENT(7)			    Linux Programmer's Manual			      SIGEVENT(7)

       sigevent - structure for notification from asynchronous routines

       union sigval {	       /* Data passed with notification */
	   int	   sival_int;	      /* Integer value */
	   void   *sival_ptr;	      /* Pointer value */

       struct sigevent {
	   int		sigev_notify; /* Notification method */
	   int		sigev_signo;  /* Notification signal */
	   union sigval sigev_value;  /* Data passed with
					 notification */
	   void       (*sigev_notify_function) (union sigval);
			    /* Function used for thread
			       notification (SIGEV_THREAD) */
	   void        *sigev_notify_attributes;
			    /* Attributes for notification thread
			       (SIGEV_THREAD) */
	   pid_t	sigev_notify_thread_id;
			    /* ID of thread to signal (SIGEV_THREAD_ID) */

       The  sigevent  structure  is  used  by various APIs to describe the way a process is to be
       notified about an event (e.g., completion of an	asynchronous  request,	expiration  of	a
       timer, or the arrival of a message).

       The  definition	shown  in the SYNOPSIS is approximate: some of the fields in the sigevent
       structure may be defined as part of a union.  Programs should  employ  only  those  fields
       relevant to the value specified in sigev_notify.

       The sigev_notify field specifies how notification is to be performed.  This field can have
       one of the following values:

	       A "null" notification: don't do anything when the event occurs.

	       Notify the process by sending the signal specified in sigev_signo.

	       If the signal is caught with a signal handler that was registered using the sigac-
	       tion(2) SA_SIGINFO flag, then the following fields are set in the siginfo_t struc-
	       ture that is passed as the second argument of the handler:

	       si_code	 This field is set to a value that depends  on	the  API  delivering  the

	       si_signo  This  field  is  set  to  the	signal number (i.e., the same value as in

	       si_value  This field is set to the value specified in sigev_value.

	       Depending on the API, other fields may also be set in the siginfo_t structure.

	       The same information is also available if the signal is	accepted  using  sigwait-

	       Notify  the  process  by  invoking sigev_notify_function "as if" it were the start
	       function of a new thread.  (Among the implementation possibilities here	are  that
	       each  timer  notification  could result in the creation of a new thread, or that a
	       single thread is created to receive all notifications.)	The function  is  invoked
	       with sigev_value as its sole argument.  If sigev_notify_attributes is not NULL, it
	       should point to a pthread_attr_t structure that defines	attributes  for  the  new
	       thread (see pthread_attr_init(3)).

       SIGEV_THREAD_ID (Linux-specific)
	       Currently used only by POSIX timers; see timer_create(2).


       timer_create(2), aio_fsync(3), aio_read(3), aio_write(3), getaddrinfo_a(3), lio_listio(3),
       mq_notify(3), aio(7), pthreads(7)

       This page is part of release 3.55 of the Linux man-pages project.  A  description  of  the
       project,     and    information	  about    reporting	bugs,	 can	be    found    at

GNU					    2011-09-09				      SIGEVENT(7)

All times are GMT -4. The time now is 01:59 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password