*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> sigwait (3)              



NAME    [Toc]    [Back]

       sigwait,  sigwaitinfo,  sigtimedwait  -  Suspend a calling
       thread until a signal arrives

SYNOPSIS    [Toc]    [Back]

       #include <signal.h>

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

LIBRARY    [Toc]    [Back]

       Threads Library (libpthread.so):  sigwait()

       Realtime Library (librt.a, librt.so): sigwaitinfo(),  sigtimedwait()

PARAMETERS    [Toc]    [Back]

       Specifies  the  set  of  signals to wait for.  Returns the
       signal number of the selected signal. (See the DESCRIPTION
       section for information about the selected signal.)  Specifies
 a pointer to a siginfo structure that  is  receiving
       data  describing  the  signal,  including any applicationdefined
 data specified when the signal was posted.  Specifies
 a timeout for the wait. If timeout is null, the argument
 is ignored.

DESCRIPTION    [Toc]    [Back]

       The sigwait functions suspend the calling thread until  at
       least  one  of  the signals in the set parameter is in the
       caller's set of pending signals. When this happens, one of
       those  signals  is automatically selected and removed from
       the set of pending signals.  The signal number identifying
       that signal is then returned.

       For the sigwait() function, the signal number is stored in
       the signal argument. For the sigwaitinfo()  and  sigtimedwait()
  functions,  if the info argument is specified, the
       selected signal number is stored in the si_signo member of
       siginfo  structure,  and the cause of the signal is stored
       in the si_code member. If  any  value  is  queued  to  the
       selected  signal,  the  first queued value is dequeued and
       stored in the si_value member of  info.  If  no  value  is
       queued, the content of the si_value member is undefined.

       For sigtimedwait(), if the timeout parameter is specified,
       the function waits for the specified  time  interval.   If
       the  timespec structure specified contains a timeout value
       of zero (0), and if none of the signals specified  by  set
       are  pending, then sigtimedwait() returns immediately with
       an error.

       The effect is unspecified if any signals in the set parameter
  are  not  blocked  when  the  sigwait  functions are

       The set parameter is created using  the  set  manipulation
       functions  sigemptyset(),  sigfillset(),  sigaddset(), and

       If, while the sigwait  functions  are  waiting,  a  signal
       occurs that is eligible for delivery (that is, not blocked
       by the signal mask), that signal is handled asynchronously
       and the wait is interrupted.

RETURN VALUES    [Toc]    [Back]

       Upon successful completion, the sigwait() function returns
       0 (zero). The other functions return  the  number  of  the
       selected signal.

       On  failure,  sigwait()  returns  the  errno value for the
       failure. The other functions return -1 and  set  errno  to
       indicate the error.

ERRORS    [Toc]    [Back]

       If  the sigwait functions fail, errno is set to one of the
       following values: The value of the set parameter  contains
       an  invalid  or  unsupported  signal  number.  The timeout
       argument specified a tv_nsec value that is less than 0  or
       greater  than  or  equal  to  1,000,000,000.  The wait was
       interrupted by an unblocked,  caught  signal.   No  signal
       specified  by set was delivered within the specified timeout

SEE ALSO    [Toc]    [Back]

       Headers: siginfo(5)

       Functions: sigaction(2), sigpending(2), sigsuspend(2)

       Routines: sigaddset(3), sigdelset(3), sigemptyset(3), sigfillset(3)

[ Back ]
 Similar pages
Name OS Title
pthread_join Tru64 Causes the calling thread to wait for the termination of the specified thread
pthread_suspend_np FreeBSD suspend a thread
pthread_suspend_all_np OpenBSD suspend and resume thread(s)
pthread_resume_all_np OpenBSD suspend and resume thread(s)
pthread_resume_np OpenBSD suspend and resume thread(s)
pthread_suspend_np OpenBSD suspend and resume thread(s)
pause HP-UX suspend process until signal
pause IRIX suspend process until signal
pthread_exit IRIX terminate the calling thread
pthread_exit OpenBSD terminate the calling thread
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service