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

  man pages->IRIX man pages -> standard/sigset (2)              
Title
Content
Arch
Section
 

Contents


SIGSET(2)							     SIGSET(2)


NAME    [Toc]    [Back]

     sigset, sighold, sigrelse,	sigignore, sigpause - signal management
     (System V)

C SYNOPSIS    [Toc]    [Back]

     #include <signal.h>

     C:
       void (*sigset (int sig, void (*disp)()))();
     C++:
       void (*sigset (int sig, void (*disp)(int)))(int);

     #if _XOPEN_SOURCE
       void (*sigset (int sig, void (*disp)(int)))(int);
     #endif

     int sighold (int sig);

     int sigrelse (int sig);

     int sigignore (int	sig);

     int sigpause (int sig);

DESCRIPTION    [Toc]    [Back]

     These functions provide signal management for application processes.
     sigset specifies the system signal	action to be taken upon	receipt	of
     signal sig.  disp specifies the signal's disposition, which may be
     SIG_DFL, SIG_IGN, or the address of a signal handler.  If disp is the
     address of	a signal handler, the system adds sig to the calling process's
     signal mask before	executing the signal handler; when the signal handler
     returns, the system restores the calling process's	signal mask to its
     state prior to the	delivery of the	signal.	 In addition, if disp is equal
     to	SIG_HOLD, sig is added to the calling process's	signal mask and	the
     signal's disposition remains unchanged.  If disp is not equal to
     SIG_HOLD, sig will	be removed from	the calling process's signal mask
     (this behavior is different than sigaction(2)).

     sighold adds sig to the calling process's signal mask.

     sigrelse removes sig from the calling process's signal mask.

     sigignore sets the	disposition for	sig to SIG_IGN.

     sigpause removes sig from the calling process's signal mask and suspends
     the calling process until a signal	is received.  This system call is
     useful for	testing	variables that are changed on the occurrence of	a
     signal.  The correct usage	is to use sighold to block the signal first,
     then test the variables.  If they have not	changed, then call sigpause to
     wait for the signal.





									Page 1






SIGSET(2)							     SIGSET(2)



     For a list	of valid signal	numbers	and a general description of the
     signal mechanism, please see signal(5).

     These functions will fail if one or more of the following are true:

     [EINVAL]  sig is an illegal signal	number (including SIGKILL and SIGSTOP)
	       or the default handling of sig cannot be	changed.

     [EINVAL]  The requested action is illegal (e.g. ignoring SIGCONT, which
	       is ignored by default).

     [EINTR]   A signal	was caught during the system call sigpause.

DIAGNOSTICS    [Toc]    [Back]

     Upon successful completion, sigset	returns	SIG_HOLD if the	signal had
     been blocked or the signal's previous disposition if it had not been
     blocked.  Otherwise, a value of SIG_ERR is	returned and errno is set to
     indicate the error.  SIG_ERR is defined in	<sys/signal.h>.

     For the other functions, upon successful completion, a value of 0 is
     returned.	Otherwise, a value of -1 is returned and errno is set to
     indicate the error.

SEE ALSO    [Toc]    [Back]

      
      
     csh(1), blockproc(2), kill(2), pause(2), setrlimit(2), sigaction(2),
     signal(2),	ulimit(2), wait(2), setjmp(3C),	sigvec(3B), signal(5),
     siginfo(5).

WARNINGS    [Toc]    [Back]

     Signals raised by any instruction in the instruction stream, including
     SIGFPE, SIGILL, SIGEMT, SIGBUS, and SIGSEGV, will cause infinite loops if
     their handler returns, or the action is set to SIG_IGN. This is because
     the exception PC at the time of the signal	points to the instruction that
     raised the	exception or signal, and resuming the process will re-execute
     that same instruction.

     The POSIX signal routines (sigaction(2), sigpending(2), sigprocmask(2),
     sigsuspend(2), sigsetjmp(3)), and the 4.3BSD signal routines (sigvec(3B),
     signal(3B), sigblock(3B), sigpause(3B), sigsetmask(3B)) must NEVER	be
     used with signal(2) or sigset(2).


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
signal HP-UX signal management
sigset Tru64 Compatibility interfaces for signal management
sigignore Tru64 Compatibility interfaces for signal management
sighold Tru64 Compatibility interfaces for signal management
sigrelse Tru64 Compatibility interfaces for signal management
smbus FreeBSD System Management Bus
keynote OpenBSD a trust-management system
psignal NetBSD system signal messages
sys_signame NetBSD system signal messages
sys_siglist NetBSD system signal messages
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service