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:
parent
4b9dd5d537
commit
8d03319930
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=206802
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user