sigaction(3)sigaction(3)Namesigaction - software signal facilities (POSIX)
Syntax
#include <signal.h>
struct sigaction {
void (*sa_handler)();
sigset_t sa_mask;
int sa_flags;
};
int sigaction(sig, vec, ovec)
int sig;
struct sigaction *vec, *ovec;
Description
The sigaction call is the POSIX equivalent to the system call. This
call behaves as described on the reference page with the following mod‐
ifications:
· The signal mask is manipulated using the functions.
· A process can suppress the generation of the SIGCHLD when a child
stops by setting the SA_NOCLDSTOP bit in sa_flags.
· The SV_INTERRUPT flag is always set by the system when using in
POSIX mode. The flag is set so that interrupted system calls will
fail with the EINTR error instead of getting restarted.
Return Values
A 0 return value indicated that the call succeeded. A -1 return value
indicates an error occurred and errno is set to indicated the reason.
Diagnostics
The system call fails and a new signal handler is not installed if one
of the following occurs:
[EFAULT] Either vec or ovec points to memory which is not a valid
part of the process address space.
[EINVAL] Sig is not a valid signal number.
[EINVAL] An attempt is made to ignore or supply a handler for
SIGKILL or SIGSTOP.
See Alsosigvec(2), sigsetops(3), sigprocmask(3), sigsuspend(3), sigpending(2),
setjmp(3), siginterrupt(3), tty(4)sigaction(3)