sigemptyset(3p) - phpMan

SIGEMPTYSET(3P)            POSIX Programmer's Manual           SIGEMPTYSET(3P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.
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 struc-
       ture, 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 argu-
       ment to sigpending()). This function is not intended for dynamic  allo-
       cation.
       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 vol-
       ume 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 exam-
       ple, 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 unsup-
       ported 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  sig-
       nals. With that distinction, it is not necessary to require implementa-
       tions 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  sig-
       nals  and optional for unsupported signals, but this seemed unnecessar-
       ily 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 Def-
       initions 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 .

IEEE/The Open Group                  2003                      SIGEMPTYSET(3P)