Files
gimp/devel-docs/libgimpbase/html/libgimpbase-gimpsignal.html
2010-08-11 01:23:08 -04:00

162 lines
7.3 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gimpsignal</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="index.html" title="GIMP Base Library Reference Manual">
<link rel="up" href="libgimpbase.html" title="Part&#160;I.&#160;GIMP Base Library">
<link rel="prev" href="libgimpbase-gimpparasiteio.html" title="gimpparasiteio">
<link rel="next" href="libgimpbase-gimpunit.html" title="gimpunit">
<meta name="generator" content="GTK-Doc V1.8 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="libgimpbase.html" title="Part&#160;I.&#160;GIMP Base Library">
<link rel="index" href="libgimpbase-index.html" title="Index">
<link rel="index" href="libgimpbase-index-new-in-2-2.html" title="Index of new symbols in GIMP 2.2">
<link rel="index" href="libgimpbase-index-new-in-2-4.html" title="Index of new symbols in GIMP 2.4">
<link rel="index" href="libgimpbase-index-deprecated.html" title="Index of deprecated symbols">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libgimpbase-gimpparasiteio.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="libgimpbase.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GIMP Base Library Reference Manual</th>
<td><a accesskey="n" href="libgimpbase-gimpunit.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2607873" class="shortcut">Top</a>
&#160;|&#160;
<a href="#id2580929" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="libgimpbase-gimpsignal"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2607873"></a><span class="refentrytitle">gimpsignal</span>
</h2>
<p>gimpsignal &#8212; Portable signal handling.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
void (<a class="link" href="libgimpbase-gimpsignal.html#GimpSignalHandlerFunc">*GimpSignalHandlerFunc</a>) (<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> signum);
<a class="link" href="libgimpbase-gimpsignal.html#GimpSignalHandlerFunc">GimpSignalHandlerFunc</a> <a class="link" href="libgimpbase-gimpsignal.html#gimp-signal-private">gimp_signal_private</a> (<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> signum,
<a class="link" href="libgimpbase-gimpsignal.html#GimpSignalHandlerFunc">GimpSignalHandlerFunc</a> handler,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> flags);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2580929"></a><h2>Description</h2>
<p>
Portable signal handling.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2580944"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2580955"></a><h3>
<a name="GimpSignalHandlerFunc"></a>GimpSignalHandlerFunc ()</h3>
<a class="indexterm" name="id2580966"></a><pre class="programlisting">void (*GimpSignalHandlerFunc) (<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> signum);</pre>
<p>
A prototype for signal handler functions. Note that each function which
takes or returns a variable of this type also accepts or may return
special values defined by your system's signal.h header file (like
<em class="parameter"><code>SIG_DFL</code></em> or <em class="parameter"><code>SIG_IGN</code></em>).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>signum</code></em>&#160;:</span></p></td>
<td>The number of the signal. Useful if different signals are handled
by a single handler.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2581029"></a><h3>
<a name="gimp-signal-private"></a>gimp_signal_private ()</h3>
<a class="indexterm" name="id2581041"></a><pre class="programlisting"><a class="link" href="libgimpbase-gimpsignal.html#GimpSignalHandlerFunc">GimpSignalHandlerFunc</a> gimp_signal_private (<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> signum,
<a class="link" href="libgimpbase-gimpsignal.html#GimpSignalHandlerFunc">GimpSignalHandlerFunc</a> handler,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> flags);</pre>
<p>
This function furnishes a workalike for signal(2) but
which internally invokes sigaction(2) after certain
sa_flags are set; these primarily to ensure restarting
of interrupted system calls. See sigaction(2) It is a
aid to transition and not new development: that effort
should employ sigaction directly. [gosgood 18.04.2000]
</p>
<p>
Cause <em class="parameter"><code>handler</code></em> to be run when <em class="parameter"><code>signum</code></em> is delivered. We
use sigaction(2) rather than signal(2) so that we can control the
signal handler's environment completely via <em class="parameter"><code>flags</code></em>: some signal(2)
implementations differ in their sematics, so we need to nail down
exactly what we want. [austin 06.04.2000]</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>signum</code></em>&#160;:</span></p></td>
<td> Selects signal to be handled see man 5 signal (or man 7 signal)
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>handler</code></em>&#160;:</span></p></td>
<td> Handler that maps to signum. Invoked by O/S.
Handler gets signal that caused invocation. Corresponds
to the <em class="parameter"><code>sa_handler</code></em> field of the <em class="parameter"><code>sigaction</code></em> struct.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em>&#160;:</span></p></td>
<td> Preferences. OR'ed SA_&lt;xxx&gt;. See man sigaction. Corresponds
to the <em class="parameter"><code>sa_flags</code></em> field of the <em class="parameter"><code>sigaction</code></em> struct.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> A reference to the signal handling function which was
active before the call to <a class="link" href="libgimpbase-gimpsignal.html#gimp-signal-private"><code class="function">gimp_signal_private()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id2621404"></a><h2>See Also</h2>
<p>
signal(2), signal(5 or 7), sigaction(2).
</p>
</div>
</div>
</body>
</html>