OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / original / man3 / sigvec.3
diff --git a/original/man3/sigvec.3 b/original/man3/sigvec.3
deleted file mode 100644 (file)
index dc6b186..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-'\" t
-.\" Copyright (c) 2005 by Michael Kerrisk <mtk.manpages@gmail.com>
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.TH SIGVEC 3 2014-12-31 "Linux" "Linux Programmer's Manual"
-.SH NAME
-sigvec, sigblock, sigsetmask, siggetmask, sigmask \- BSD signal API
-.SH SYNOPSIS
-.B #include <signal.h>
-.sp
-.BI "int sigvec(int " sig ", const struct sigvec *" vec ", struct sigvec *" ovec );
-.sp
-.BI "int sigmask(int " signum );
-.sp
-.BI "int sigblock(int " mask );
-.sp
-.BI "int sigsetmask(int " mask );
-.sp
-.B int siggetmask(void);
-.sp
-.in -4n
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.in
-.sp
-All functions shown above:
-_BSD_SOURCE
-.SH DESCRIPTION
-These functions are provided in glibc as a compatibility interface
-for programs that make use of the historical BSD signal API.
-This API is obsolete: new applications should use the POSIX signal API
-.RB ( sigaction (2),
-.BR sigprocmask (2),
-etc.).
-
-The
-.BR sigvec ()
-function sets and/or gets the disposition of the signal
-.I sig
-(like the POSIX
-.BR sigaction (2)).
-If
-.I vec
-is not NULL, it points to a
-.I sigvec
-structure that defines the new disposition for
-.IR sig .
-If
-.I ovec
-is not NULL, it points to a
-.I sigvec
-structure that is used to return the previous disposition of
-.IR sig .
-To obtain the current disposition of
-.I sig
-without changing it, specify NULL for
-.IR vec ,
-and a non-null pointer for
-.IR ovec .
-
-The dispositions for
-.B SIGKILL
-and
-.B SIGSTOP
-cannot be changed.
-
-The
-.I sigvec
-structure has the following form:
-.in +4n
-.nf
-
-struct sigvec {
-    void (*sv_handler)(int); /* Signal disposition */
-    int    sv_mask;          /* Signals to be blocked in handler */
-    int    sv_flags;         /* Flags */
-};
-
-.fi
-.in
-The
-.I sv_handler
-field specifies the disposition of the signal, and is either:
-the address of a signal handler function;
-.BR SIG_DFL ,
-meaning the default disposition applies for the signal; or
-.BR SIG_IGN ,
-meaning that the signal is ignored.
-
-If
-.I sv_handler
-specifies the address of a signal handler, then
-.I sv_mask
-specifies a mask of signals that are to be blocked while
-the handler is executing.
-In addition, the signal for which the handler is invoked is
-also blocked.
-Attempts to block
-.B SIGKILL
-or
-.B SIGSTOP
-are silently ignored.
-
-If
-.I sv_handler
-specifies the address of a signal handler, then the
-.I sv_flags
-field specifies flags controlling what happens when the handler is called.
-This field may contain zero or more of the following flags:
-.TP
-.B SV_INTERRUPT
-If the signal handler interrupts a blocking system call,
-then upon return from the handler the system call will not be restarted:
-instead it will fail with the error
-.BR EINTR .
-If this flag is not specified, then system calls are restarted
-by default.
-.TP
-.B SV_RESETHAND
-Reset the disposition of the signal to the default
-before calling the signal handler.
-If this flag is not specified, then the handler remains established
-until explicitly removed by a later call to
-.BR sigvec ()
-or until the process performs an
-.BR execve (2).
-.TP
-.B SV_ONSTACK
-Handle the signal on the alternate signal stack
-(historically established under BSD using the obsolete
-.BR sigstack ()
-function; the POSIX replacement is
-.BR sigaltstack (2)).
-.PP
-The
-.BR sigmask ()
-macro constructs and returns a "signal mask" for
-.IR signum .
-For example, we can initialize the
-.I vec.sv_mask
-field given to
-.BR sigvec ()
-using code such as the following:
-.nf
-
-    vec.sv_mask = sigmask(SIGQUIT) | sigmask(SIGABRT);
-                /* Block SIGQUIT and SIGABRT during
-                   handler execution */
-.fi
-.PP
-The
-.BR sigblock ()
-function adds the signals in
-.I mask
-to the process's signal mask
-(like POSIX
-.IR sigprocmask(SIG_BLOCK) ),
-and returns the process's previous signal mask.
-Attempts to block
-.B SIGKILL
-or
-.B SIGSTOP
-are silently ignored.
-.PP
-The
-.BR sigsetmask ()
-function sets the process's signal mask to the value given in
-.I mask
-(like POSIX
-.IR sigprocmask(SIG_SETMASK) ),
-and returns the process's previous signal mask.
-.PP
-The
-.BR siggetmask ()
-function returns the process's current signal mask.
-This call is equivalent to
-.IR sigblock(0) .
-.SH RETURN VALUE
-The
-.BR sigvec ()
-function returns 0 on success; on error, it returns \-1 and sets
-.I errno
-to indicate the error.
-
-The
-.BR sigblock ()
-and
-.BR sigsetmask ()
-functions return the previous signal mask.
-
-The
-.BR sigmask ()
-macro returns the signal mask for
-.IR signum .
-.SH ERRORS
-See the ERRORS under
-.BR sigaction (2)
-and
-.BR sigprocmask (2).
-.SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR sigvec (),
-.BR sigblock (),
-.BR sigsetmask (),
-and
-.BR siggetmask ()
-functions are thread-safe.
-.LP
-The
-.BR sigmask ()
-macro is thread-safe.
-.SH VERSIONS
-Starting with version 2.21, the GNU C library no longer exports the
-.BR sigvec ()
-function as part of the ABI.
-(To ensure backward compatibility,
-the glibc symbol versioning scheme continues to export the interface
-to binaries linked against older versions of the library.)
-.SH CONFORMING TO
-All of these functions were in
-4.3BSD, except
-.BR siggetmask (),
-whose origin is unclear.
-These functions are obsolete: do not use them in new programs.
-.SH NOTES
-On 4.3BSD, the
-.BR signal ()
-function provided reliable semantics (as when calling
-.BR sigvec ()
-with
-.I vec.sv_mask
-equal to 0).
-On System V,
-.BR signal ()
-provides unreliable semantics.
-POSIX.1-2001 leaves these aspects of
-.BR signal ()
-unspecified.
-See
-.BR signal (2)
-for further details.
-
-In order to wait for a signal,
-BSD and System V both provided a function named
-.BR sigpause (3),
-but this function has a different argument on the two systems.
-See
-.BR sigpause (3)
-for details.
-.SH SEE ALSO
-.BR kill (2),
-.BR pause (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR sigprocmask (2),
-.BR raise (3),
-.BR sigpause (3),
-.BR sigset (3),
-.BR signal (7)
-.SH COLOPHON
-This page is part of release 3.79 of the Linux
-.I man-pages
-project.
-A description of the project,
-information about reporting bugs,
-and the latest version of this page,
-can be found at
-\%http://www.kernel.org/doc/man\-pages/.