blob: 41c6949486b366d6998d0ff9c36f5cf27e568931 [file] [log] [blame]
<html lang="en">
<head>
<title>BSD Signal Handling - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Signal-Handling.html#Signal-Handling" title="Signal Handling">
<link rel="prev" href="Signal-Stack.html#Signal-Stack" title="Signal Stack">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.
This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A
copy of the license is included in the section entitled "GNU Free
Documentation License".
(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="BSD-Signal-Handling"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Signal-Stack.html#Signal-Stack">Signal Stack</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Signal-Handling.html#Signal-Handling">Signal Handling</a>
<hr>
</div>
<h3 class="section">24.10 BSD Signal Handling</h3>
<p>This section describes alternative signal handling functions derived
from BSD Unix. These facilities were an advance, in their time; today,
they are mostly obsolete, and supported mainly for compatibility with
BSD Unix.
<p>There are many similarities between the BSD and POSIX signal handling
facilities, because the POSIX facilities were inspired by the BSD
facilities. Besides having different names for all the functions to
avoid conflicts, the main differences between the two are:
<ul>
<li>BSD Unix represents signal masks as an <code>int</code> bit mask, rather than
as a <code>sigset_t</code> object.
<li>The BSD facilities use a different default for whether an interrupted
primitive should fail or resume. The POSIX facilities make system
calls fail unless you specify that they should resume. With the BSD
facility, the default is to make system calls resume unless you say they
should fail. See <a href="Interrupted-Primitives.html#Interrupted-Primitives">Interrupted Primitives</a>.
</ul>
<p>The BSD facilities are declared in <samp><span class="file">signal.h</span></samp>.
<a name="index-signal_002eh-2991"></a>
<ul class="menu">
<li><a accesskey="1" href="BSD-Handler.html#BSD-Handler">BSD Handler</a>: BSD Function to Establish a Handler.
<li><a accesskey="2" href="Blocking-in-BSD.html#Blocking-in-BSD">Blocking in BSD</a>: BSD Functions for Blocking Signals.
</ul>
</body></html>