sigsuspend man page on DigitalUNIX

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

sigsuspend(2)							 sigsuspend(2)

       sigsuspend  - Atomically change the set of blocked signals and wait for
       a signal

       #include <signal.h>

       int sigsuspend(
	       const sigset_t *signal_mask );

       Interfaces documented on this reference page conform to industry	 stan‐
       dards as follows:

       sigsuspend(): XSH4.0, XSH4.2, XSH5.0

       Refer  to  the  standards(5)  reference page for more information about
       industry standards and associated tags.

       Points to a set of signals.

       The sigsuspend() function replaces the signal mask of the  process  (or
       thread)	with  the set of signals pointed to by the signal_mask parame‐
       ter, and then suspends execution of the caller until delivery of a sig‐
       nal  whose action is either to execute a signal-catching function or to
       terminate the process. The sigsuspend() function	 does  not  allow  the
       SIGKILL	or  SIGSTOP  signals  to  be blocked. If a program attempts to
       block one of these signals, the sigsuspend() function gives no  indica‐
       tion of the error; the illegal request is simply ignored.

       If  delivery  of	 a signal causes the process to terminate, the sigsus‐
       pend() function does not return. If delivery of a signal causes a  sig‐
       nal-catching  function  to  execute,  the sigsuspend() function returns
       after the  signal-catching  function  returns,  with  the  signal  mask
       restored	 to the set that existed prior to the call to the sigsuspend()

       The sigsuspend() function  sets	the  signal  mask  and	waits  for  an
       unblocked  signal as one atomic operation. This means that signals can‐
       not occur between the operations of setting the mask and waiting for  a
       signal.	If  a program uses the sigprocmask(SIG_SETMASK) and sigpause()
       calls separately, a signal that occurs between these calls might not be
       noticed	by sigpause(). (The sigpause() function provides a compatibil‐
       ity interface to the sigsuspend() function.)

       In  normal  usage,  a  signal  is  blocked  by	using	the   sigproc‐
       mask(SIG_BLOCK,...)   or pthread_sigmask(...)  call at the beginning of
       a critical section. The process then determines whether there  is  work
       for  it	to do. If no work is to be done, the process waits for work by
       calling the sigsuspend() function with the mask previously returned  by
       the sigprocmask() function.

       Since  the  sigsuspend()	 function  suspends  process execution indefi‐
       nitely, there is no successful completion return	 value.	 If  a	return
       occurs, -1 is returned and errno is set to indicate the error.

       The  sigsuspend()  function  sets  errno to the value specified for the
       following conditions: A signal is caught by  the	 calling  process  and
       control is returned from the signal-catching function.

       Functions:   sigaction(2),   sigblock(2),   sigprocmask(2),  sigvec(2),
       pause(3), sigpause(3)

       Standards: standards(5)


List of man pages available for DigitalUNIX

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]
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