unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

sigprocmask(2)                   System Calls                   sigprocmask(2)



NAME
       sigprocmask - change or examine caller's signal mask

SYNOPSIS
       #include <signal.h>

       int   sigprocmask(int  how,  const  sigset_t  *restrict  set,  sigset_t
       *restrict oset);

DESCRIPTION
       The sigprocmask() function is used to examine and/or change  the  call-
       er's signal mask. If the value is  SIG_BLOCK, the set pointed to by the
       set argument is added to the current  signal  mask.  If  the  value  is
       SIG_UNBLOCK,  the  set pointed by the  set argument is removed from the
       current signal mask. If the value is  SIG_SETMASK, the  current  signal
       mask  is  replaced  by  the set pointed to by the  set argument. If the
       oset argument is not  NULL, the previous mask is stored  in  the  space
       pointed  to  by  oset.  If the value of the  set argument is  NULL, the
       value   how  is  not  significant  and  the  caller's  signal  mask  is
       unchanged;  thus,  the  call  can  be  used  to inquire about currently
       blocked signals. If the set or  oset  argument  points  to  an  invalid
       address, the behavior is undefined and errno may be set to EFAULT.

       If  there  are any pending unblocked signals after the call to sigproc-
       mask(), at least one of those signals will be delivered before the call
       to sigprocmask() returns.

       It  is  not possible to block those signals that cannot be ignored this
       restriction is silently  imposed by the system. See sigaction(2).

       If sigprocmask() fails, the caller's signal mask is not changed.

RETURN VALUES
       Upon successful completion, 0 is returned. Otherwise,  -1  is  returned
       and errno is set to indicate the error.

ERRORS
       The sigprocmask() function will fail if:

       EINVAL          The  value  of  the how argument is not equal to one of
                       the defined values.



       The sigprocmask() function may fail if:

       EFAULT          The set or oset argument points to an illegal address.



ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityStan-
       dard MT-LevelAsync-Signal-Safe


SEE ALSO
       sigaction(2), signal(3C), signal.h(3HEAD),  sigsetops(3C),  thr_sigset-
       mask(3C), attributes(5), attributes(5)

NOTES
       In  a multithreaded application, the call to sigprocmask() impacts only
       the calling thread's signal mask and is therefore identical to  a  call
       to thr_sigsetmask(3C).

       Signals  that are generated synchronously should not be masked. If such
       a signal is blocked and delivered, the receiving process is killed.



SunOS 5.10                        1 Nov 2003                    sigprocmask(2)