Man Linux: Main Page and Category List

NAME

       sigemptyset - initialize and empty a signal set

SYNOPSIS

       #include <signal.h>

       int sigemptyset(sigset_t *set);

DESCRIPTION

       The  sigemptyset()  function  initializes  the signal set pointed to by
       set,  such  that  all  signals  defined  in  IEEE Std 1003.1-2001   are
       excluded.

RETURN VALUE

       Upon successful completion, sigemptyset() shall return 0; otherwise, it
       shall return -1 and set errno to indicate the error.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       The implementation of  the  sigemptyset()  (or  sigfillset())  function
       could  quite  trivially  clear (or set) all the bits in the signal set.
       Alternatively, it  would  be  reasonable  to  initialize  part  of  the
       structure,  such  as  a  version  field, to permit binary-compatibility
       between releases where the size of the set varies.  For  such  reasons,
       either  sigemptyset() or sigfillset() must be called prior to any other
       use of the signal set, even if such use is read-only (for  example,  as
       an argument to sigpending()). This function is not intended for dynamic
       allocation.

       The sigfillset() and sigemptyset() functions require that the resulting
       signal  set include (or exclude) all the signals defined in this volume
       of IEEE Std 1003.1-2001. Although it  is  outside  the  scope  of  this
       volume  of  IEEE Std 1003.1-2001  to  place this requirement on signals
       that  are  implemented  as   extensions,   it   is   recommended   that
       implementation-defined  signals  also  be  affected by these functions.
       However, there may be a good reason for a particular signal not  to  be
       affected.  For  example, blocking or ignoring an implementation-defined
       signal may have undesirable side effects, whereas  the  default  action
       for  that  signal  is harmless.  In such a case, it would be preferable
       for such a signal to be  excluded  from  the  signal  set  returned  by
       sigfillset().

       In  early  proposals  there  was  no  distinction  between  invalid and
       unsupported signals (the  names  of  optional  signals  that  were  not
       supported   by   an   implementation   were   not   defined   by   that
       implementation).  The [EINVAL] error was thus specified as  a  required
       error  for  invalid signals. With that distinction, it is not necessary
       to require implementations of these functions to determine  whether  an
       optional signal is actually supported, as that could have a significant
       performance impact for little value. The error could have been required
       for  invalid  signals  and  optional  for unsupported signals, but this
       seemed unnecessarily complex. Thus,  the  error  is  optional  in  both
       cases.

FUTURE DIRECTIONS

       None.

SEE ALSO

       Signal   Concepts   ,   sigaction()   ,  sigaddset()  ,  sigdelset()  ,
       sigfillset()  ,  sigismember()  ,  sigpending()   ,   sigprocmask()   ,
       sigsuspend()  ,  the  Base  Definitions volume of IEEE Std 1003.1-2001,
       <signal.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .