Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for sigwaitinfo (redhat section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

SIGWAITINFO(2)			    Linux Programmer's Manual			   SIGWAITINFO(2)

       sigwaitinfo, sigtimedwait - synchronously wait for queued signals

       #include <signal.h>

       int sigwaitinfo(const sigset_t *set, siginfo_t *info);

       int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec timeout);

       sigwaitinfo() suspends execution of the calling process until one of the signals in set is
       delivered.  (If one of the signals in set is already pending for the calling process, sig-
       waitinfo() will return immediately with information about that signal.)

       sigwaitinfo() removes the delivered signal from the calling process's list of pending sig-
       nals and returns the signal number as its function result.  If the info	argument  is  not
       NULL, then it returns a structure of type siginfo_t (see sigaction(2)) containing informa-
       tion about the signal.

       Signals returned via sigwaitinfo() are delivered in the usual  order;  see  signal(7)  for
       further details.

       sigtimedwait()  operates  in  exactly  the same way as sigwaitinfo() except that it has an
       additional argument, timeout, which enables an upper bound to be placed on  the	time  for
       which the process is suspended.	This argument is of the following type:

	 struct timespec {
	     long    tv_sec;	     /* seconds */
	     long    tv_nsec;	     /* nanoseconds */

       If  both  fields of this structure are specified as 0, a poll is performed: sigtimedwait()
       returns immediately, either with information about a signal that was pending for the call-
       er, or with an error if none of the signals in set was pending.

       On  success,  both  sigwaitinfo() and sigtimedwait() return a signal number (i.e., a value
       greater than zero).  On failure both calls return -1,  with  errno  set	to  indicate  the

       EAGAIN No  signal  in  set  was delivered within the timeout period specified to sigtimed-

       EINVAL timeout was invalid.

       EINTR  The wait was interrupted by a signal handler.  (This handler was for a signal other
	      than one of those in set.)

       In  normal  usage,  the caller blocks the signals in set via a prior call to sigprocmask()
       (so that the default disposition for these signals does not occur if  they  are	delivered
       between	successive  calls  to sigwaitinfo()or sigtimedwait()) and does not establish han-
       dlers for these signals.

       POSIX leaves the meaning of a NULL  value  for  the  timeout  argument  of  sigtimedwait()
       unspecified,  permitting  the possibility that this has the same meaning as a call to sig-
       waitinfo(), and indeed this is what is done on Linux.

       POSIX 1003.1-2001

       kill(2), sigaction(2), signal(2), sigpending(2), sigprocmask(2),  sigqueue(2),  signal(7),

Linux 2.4.18				    2002-06-07				   SIGWAITINFO(2)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 03:50 PM.