Linux Man Pages

Unix Manual Pages Home

Free Linux Documentation

Manual pages sections
Almost all UNIX operating systems have voluminous documentation known as manual pages. Every page is a document. If one wants to read a page then the command man at a shell prompt will show the manual, for example, "man ftp". Pages are referred by using the notation "name(manual-section)", for example time(1).


Man Page :: Unix Man Pages - bsd_signal
Browse Linux man pages by name. Choose the first letter of the name of the Linux command, function, or file you are interested in:
a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|_| All


NAME

bsd_signal - signal handling with BSD semantics

SYNOPSIS

#define _XOPEN_SOURCE #include <signal.h>

typedef void (*sighandler_t)(int);

sighandler_t bsd_signal(int signum , sighandler_t handler );

DESCRIPTION

The bsd_signal () function takes the same arguments, and performs the same task, as signal (2).

The difference between the two is that bsd_signal () is guaranteed to provide reliable signal semantics, that is: a) the disposition of the signal is not reset to the default when the handler is invoked; b) delivery of further instances of the signal is blocked while the signal handler is executing; and c) if the handler interrupts a blocking system call, then the system call is automatically restarted. A portable application cannot rely on signal (2) to provide these guarantees.

RETURN VALUE

The bsd_signal () function returns the previous value of the signal handler, or SIG_ERR on error.

ERRORS

As for signal (2).

CONFORMING TO

4.2BSD, POSIX.1-2001.

NOTES

Use of bsd_signal () should be avoided; use sigaction (2) instead.

On modern Linux systems, bsd_signal () and signal (2) are equivalent. But on older systems, signal (2) provided unreliable signal semantics; see signal (2) for details.

The use of sighandler_t is a GNU extension; this type is only defined if the _GNU_SOURCE feature test macro is defined.

SEE ALSO

sigaction (2) signal (2) sysv_signal (3) feature_test_macros (7) signal (7)



Unix / Linux Man Pages
Copyright (C) 2008 istild.com. All Rights Reserved.

Unix / Linux Manual Pages Man Pages Man Pages Online Documentation - Valid CSS!