Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

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

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, 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.

RETURN VALUE
       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
       error.

ERRORS
       EAGAIN No  signal  in  set  was delivered within the timeout period specified to sigtimed-
	      wait().

       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.)

NOTES
       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.

CONFORMING TO
       POSIX 1003.1-2001

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

Linux 2.4.18				    2002-06-07				   SIGWAITINFO(2)


All times are GMT -4. The time now is 11:37 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password