sigtimedwait man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

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

NAME
       sigwaitinfo, sigtimedwait - synchronously wait for queued signals

SYNOPSIS
       #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);

DESCRIPTION
       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, sigwaitinfo() will return
       immediately with information about that signal.)

       sigwaitinfo() removes the delivered signal from the  calling  process's
       list  of	 pending signals 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 information 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  per‐
       formed:	sigtimedwait()	returns	 immediately,  either with information
       about a signal that was pending for the caller, or  with	 an  error  if
       none of the signals in set was pending.

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

ERRORS
       EAGAIN No  signal in set was delivered within the timeout period speci‐
	      fied to sigtimedwait().

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

       EINVAL timeout was invalid.

NOTES
       In  normal  usage,  the calling program 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 handlers for
       these  signals.	 In  a	multithreaded  program,	 the  signal should be
       blocked in all threads to prevent  the  signal  being  delivered	 to  a
       thread other than the one calling sigwaitinfo() or sigtimedwait()).

       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 sigwaitinfo(), and indeed this is what is
       done on Linux.

CONFORMING TO
       POSIX.1-2001

SEE ALSO
       kill(2),	 sigaction(2),	 signal(2),   sigpending(2),   sigprocmask(2),
       sigqueue(2), sigsetops(3), signal(7)

Linux 2.4.18			  2002-06-07			SIGWAITINFO(2)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net