.\" 2010-06-11 Andi Kleen, add hwpoison signal extensions
.\" 2010-06-11 mtk, improvements to discussion of various siginfo_t fields.
.\"
-.TH SIGACTION 2 2010-06-16 "Linux" "Linux Programmer's Manual"
+.TH SIGACTION 2 2012-04-26 "Linux" "Linux Programmer's Manual"
.SH NAME
sigaction \- examine and change a signal action
.SH SYNOPSIS
as its second argument and a pointer to a
.I ucontext_t
(cast to \fIvoid\ *\fP) as its third argument.
+(Commonly, the handler function doesn't make any use of the third argument.
+See
+.BR getcontext (2)
+for further information about
+.IR ucontext_t .)
.PP
.I sa_mask
specifies a mask of signals which should be blocked
Signals sent with
.BR kill (2)
and
-.BR sigqueue (2)
+.BR sigqueue (3)
fill in
.IR si_pid " and " si_uid .
In addition, signals sent with
-.BR sigqueue (2)
+.BR sigqueue (3)
fill in
.IR si_int " and " si_ptr
-with the values specified by the sender the signal;
+with the values specified by the sender of the signal;
see
-.BR sigqueue (2)
+.BR sigqueue (3)
for more details.
.IP *
Signals sent by POSIX.1b timers (since Linux 2.6) fill in
.I si_addr_lsb
are Linux-specific extensions.
.IP *
-.BR SIGPOLL / SIGIO
+.BR SIGIO / SIGPOLL
+(the two names are synonyms on Linux)
fills in
.IR si_band " and " si_fd .
The
.TP 15
.B SI_USER
.BR kill (2)
-or
-.BR raise (3)
.TP
.B SI_KERNEL
Sent by the kernel.
.TP
.B SI_QUEUE
-.BR sigqueue (2)
+.BR sigqueue (3)
.TP
.B SI_TIMER
POSIX timer expired
AIO completed
.TP
.B SI_SIGIO
-queued SIGIO
+Queued
+.B SIGIO
+(only in kernels up to Linux 2.2; from Linux 2.4 onward
+.BR SIGIO / SIGPOLL
+fills in
+.I si_code
+as described below).
.TP
.B SI_TKILL
.BR tkill (2)
The following values can be placed in
.I si_code
for a
-.B SIGPOLL
+.BR SIGIO / SIGPOLL
signal:
.RS 4
.TP 15
.BR signalfd (2),
.BR sigpending (2),
.BR sigprocmask (2),
-.BR sigqueue (2),
.BR sigsuspend (2),
.BR wait (2),
.BR raise (3),
.BR siginterrupt (3),
+.BR sigqueue (3),
.BR sigsetops (3),
.BR sigvec (3),
.BR core (5),