1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-16 10:20:30 +00:00

Revert r206649.

Simplify the presented declaration of struct sigaction, noting the
caveat in the text. Real layout of the structure and exposed
implementation namespace only obfuscates the usage.

Submitted by:	bde
MFC after:	3 days
This commit is contained in:
Konstantin Belousov 2010-04-18 18:23:11 +00:00
parent 4b9dd5d537
commit 8d03319930
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=206802

View File

@ -28,7 +28,7 @@
.\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94
.\" $FreeBSD$
.\"
.Dd April 13, 2010
.Dd April 18, 2010
.Dt SIGACTION 2
.Os
.Sh NAME
@ -40,16 +40,11 @@
.In signal.h
.Bd -literal
struct sigaction {
union {
void (*__sa_handler)(int);
void (*__sa_sigaction)(int, siginfo_t *, void *);
} __sigaction_u; /* signal handler */
void (*sa_handler)(int);
void (*sa_sigaction)(int, siginfo_t *, void *);
int sa_flags; /* see signal options below */
sigset_t sa_mask; /* signal mask to apply */
};
#define sa_handler __sigaction_u.__sa_handler
#define sa_sigaction __sigaction_u.__sa_sigaction
.Ed
.Ft int
.Fo sigaction
@ -148,6 +143,16 @@ If
is non-zero, the previous handling information for the signal
is returned to the user.
.Pp
The above declaration of
.Vt "struct sigaction"
is not literal.
It is provided only to list the accessible members.
See
.In sys/signal.h
for the actual definition.
In particular, the storage occupied by sa_handler and sa_sigaction overlaps,
and an application can not use both simultaneously.
.Pp
Once a signal handler is installed, it normally remains installed
until another
.Fn sigaction
@ -496,16 +501,6 @@ or
.Dv SIG_IGN
this way.
.Pp
If preprocessing symbol
.Va _POSIX_C_SOURCE
with the value >= 199309 is not defined, the following declaration for
the handler shall be used:
.Bl -tag -offset indent -width short
.It Tn POSIX Dv SA_SIGINFO :
.Ft void
.Fn handler int "struct __sigaction *" "void *" ;
.El
.Pp
If the
.Dv SA_SIGINFO
flag is not set, the handler function should match