<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A group of <code>struct sigaction</code> structures corresponding to a set of signals’previous actions, addressable by signal number. <ahref="classcrashpad_1_1Signals_1_1OldActions.html#details">More...</a><br/></td></tr>
<trclass="memdesc:a0e1accccdf6e8c68f746b8a56b52785b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The type used for <code>struct sigaction::sa_sigaction</code>. <br/></td></tr>
<trclass="memdesc:a7d0ddf78702d8272d45446f4d6d23811"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Installs a new signal handler. <ahref="#a7d0ddf78702d8272d45446f4d6d23811">More...</a><br/></td></tr>
<trclass="memdesc:a46c25d43264336b48afa913a29aef45b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Installs <code>SIG_DFL</code> for the signal <em>sig</em>. <ahref="#a46c25d43264336b48afa913a29aef45b">More...</a><br/></td></tr>
<trclass="memitem:a81cf7aa512190294c7dd9faa5134533c"><tdclass="memItemLeft"align="right"valign="top">static bool </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classcrashpad_1_1Signals.html#a81cf7aa512190294c7dd9faa5134533c">InstallCrashHandlers</a> (<aclass="el"href="classcrashpad_1_1Signals.html#a0e1accccdf6e8c68f746b8a56b52785b">Handler</a> handler, int flags, <aclass="el"href="classcrashpad_1_1Signals_1_1OldActions.html">OldActions</a> *old_actions)</td></tr>
<trclass="memdesc:a81cf7aa512190294c7dd9faa5134533c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Installs a new signal handler for all signals associated with crashes. <ahref="#a81cf7aa512190294c7dd9faa5134533c">More...</a><br/></td></tr>
<trclass="memitem:af5ae38c6eac880fa377e2ef6e871aa9b"><tdclass="memItemLeft"align="right"valign="top">static bool </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classcrashpad_1_1Signals.html#af5ae38c6eac880fa377e2ef6e871aa9b">InstallTerminateHandlers</a> (<aclass="el"href="classcrashpad_1_1Signals.html#a0e1accccdf6e8c68f746b8a56b52785b">Handler</a> handler, int flags, <aclass="el"href="classcrashpad_1_1Signals_1_1OldActions.html">OldActions</a> *old_actions)</td></tr>
<trclass="memdesc:af5ae38c6eac880fa377e2ef6e871aa9b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Installs a new signal handler for all signals associated with termination. <ahref="#af5ae38c6eac880fa377e2ef6e871aa9b">More...</a><br/></td></tr>
<trclass="memdesc:a8b8de5e2464d8b4cbd9edc3729fe5aae"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Determines whether a signal will be re-raised autonomously upon return from a signal handler. <ahref="#a8b8de5e2464d8b4cbd9edc3729fe5aae">More...</a><br/></td></tr>
<trclass="memdesc:ae401753011dca60d8b9417a28c0d7ff1"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Restores a previous signal action and arranges to re-raise a signal on return from a signal handler. <ahref="#ae401753011dca60d8b9417a28c0d7ff1">More...</a><br/></td></tr>
<trclass="memdesc:a6dbaf303bbbcd8e3056232e5942da16e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Determines whether a signal is associated with a crash. <ahref="#a6dbaf303bbbcd8e3056232e5942da16e">More...</a><br/></td></tr>
<trclass="memdesc:a41ddeba5c2df63c4e632133e5370d7e7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Determines whether a signal is associated with termination. <ahref="#a41ddeba5c2df63c4e632133e5370d7e7">More...</a><br/></td></tr>
<trclass="memdesc:a04e054616ab6c9f179c50c3ccd35881b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">A signal number used by Crashpad to simulate signals. <br/></td></tr>
<p>Installs a new signal handler for all signals associated with crashes. </p>
<p><aclass="el"href="classcrashpad_1_1Signals.html"title="Utilities for handling POSIX signals. ">Signals</a> associated with crashes are those whose default dispositions involve creating a core dump. The precise set of signals involved varies between operating systems.</p>
<p>A single signal may either be associated with a crash or with termination (see <aclass="el"href="classcrashpad_1_1Signals.html#af5ae38c6eac880fa377e2ef6e871aa9b"title="Installs a new signal handler for all signals associated with termination. ">InstallTerminateHandlers()</a>), and perhaps neither, but never both.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">handler</td><td>A signal-handling function to execute, used as the <code>struct sigaction::sa_sigaction</code> field when calling <code>sigaction()</code>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">flags</td><td>Flags to pass to <code>sigaction()</code> in the <code>struct sigaction::sa_flags</code> field. <code>SA_SIGINFO</code> will be specified implicitly. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">old_actions</td><td>The previous actions for the signals, replaced by the new action. May be <code>nullptr</code> if not needed. The same <em>old_actions</em> object may be used for calls to both this function and <aclass="el"href="classcrashpad_1_1Signals.html#af5ae38c6eac880fa377e2ef6e871aa9b"title="Installs a new signal handler for all signals associated with termination. ">InstallTerminateHandlers()</a>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> on success. <code>false</code> on failure with a message logged.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>This function may not be called from a signal handler because of its use of logging. See <aclass="el"href="classcrashpad_1_1Signals.html#ae401753011dca60d8b9417a28c0d7ff1"title="Restores a previous signal action and arranges to re-raise a signal on return from a signal handler...">RestoreHandlerAndReraiseSignalOnReturn()</a> instead. </dd></dl>
<p>Installs <code>SIG_DFL</code> for the signal <em>sig</em>. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">sig</td><td>The signal to set the default action for.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> on success, <code>false</code> on failure with errno set. No message is logged. </dd></dl>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">sig</td><td>The signal number to handle. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">handler</td><td>A signal-handling function to execute, used as the <code>struct sigaction::sa_sigaction</code> field when calling <code>sigaction()</code>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">flags</td><td>Flags to pass to <code>sigaction()</code> in the <code>struct sigaction::sa_flags</code> field. <code>SA_SIGINFO</code> will be specified implicitly. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">old_action</td><td>The previous action for the signal, replaced by the new action. May be <code>nullptr</code> if not needed.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> on success. <code>false</code> on failure with a message logged.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>This function may not be called from a signal handler because of its use of logging. See <aclass="el"href="classcrashpad_1_1Signals.html#ae401753011dca60d8b9417a28c0d7ff1"title="Restores a previous signal action and arranges to re-raise a signal on return from a signal handler...">RestoreHandlerAndReraiseSignalOnReturn()</a> instead. </dd></dl>
<p>Installs a new signal handler for all signals associated with termination. </p>
<p><aclass="el"href="classcrashpad_1_1Signals.html"title="Utilities for handling POSIX signals. ">Signals</a> associated with termination are those whose default dispositions involve terminating the process without creating a core dump. The precise set of signals involved varies between operating systems.</p>
<p>A single signal may either be associated with termination or with a crash (see InstalCrashHandlers()), and perhaps neither, but never both.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">handler</td><td>A signal-handling function to execute, used as the <code>struct sigaction::sa_sigaction</code> field when calling <code>sigaction()</code>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">flags</td><td>Flags to pass to <code>sigaction()</code> in the <code>struct sigaction::sa_flags</code> field. <code>SA_SIGINFO</code> will be specified implicitly. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">old_actions</td><td>The previous actions for the signals, replaced by the new action. May be <code>nullptr</code> if not needed. The same <em>old_actions</em> object may be used for calls to both this function and <aclass="el"href="classcrashpad_1_1Signals.html#a81cf7aa512190294c7dd9faa5134533c"title="Installs a new signal handler for all signals associated with crashes. ">InstallCrashHandlers()</a>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> on success. <code>false</code> on failure with a message logged.</dd></dl>
<dlclass="section warning"><dt>Warning</dt><dd>This function may not be called from a signal handler because of its use of logging. See <aclass="el"href="classcrashpad_1_1Signals.html#ae401753011dca60d8b9417a28c0d7ff1"title="Restores a previous signal action and arranges to re-raise a signal on return from a signal handler...">RestoreHandlerAndReraiseSignalOnReturn()</a> instead. </dd></dl>
<p>Determines whether a signal is associated with a crash. </p>
<p><aclass="el"href="classcrashpad_1_1Signals.html"title="Utilities for handling POSIX signals. ">Signals</a> associated with crashes are those whose default dispositions involve creating a core dump. The precise set of signals involved varies between operating systems.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">sig</td><td>The signal to test.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> if <em>sig</em> is associated with a crash. <code>false</code> otherwise.</dd></dl>
<dlclass="section note"><dt>Note</dt><dd>This function is safe to call from a signal handler. </dd></dl>
<p>Determines whether a signal is associated with termination. </p>
<p><aclass="el"href="classcrashpad_1_1Signals.html"title="Utilities for handling POSIX signals. ">Signals</a> associated with termination are those whose default dispositions involve terminating the process without creating a core dump. The precise set of signals involved varies between operating systems.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">sig</td><td>The signal to test.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> if <em>sig</em> is associated with termination. <code>false</code> otherwise.</dd></dl>
<dlclass="section note"><dt>Note</dt><dd>This function is safe to call from a signal handler. </dd></dl>
<p>Restores a previous signal action and arranges to re-raise a signal on return from a signal handler. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">siginfo</td><td>A pointer to a <code>siginfo_t</code> object received by a signal handler. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">old_action</td><td>The previous action for the signal, which will be re-established as the signal’s action. May be <code>nullptr</code>, which directs the default action for the signal to be used.</td></tr>
</table>
</dd>
</dl>
<p>If this function fails, it will immediately call <code>_exit()</code> and set an exit status of <code>191</code>.</p>
<dlclass="section note"><dt>Note</dt><dd>This function may only be called from a signal handler. </dd></dl>
<p>Determines whether a signal will be re-raised autonomously upon return from a signal handler. </p>
<p>Certain signals, when generated synchronously in response to a hardware fault, are unrecoverable. Upon return from the signal handler, the same action that triggered the signal to be raised initially will be retried, and unless the signal handler took action to mitigate this error, the same signal will be re-raised. As an example, a CPU will not be able to read unmapped memory (causing <code>SIGSEGV</code>), thus the signal will be re-raised upon return from the signal handler unless the signal handler established a memory mapping where required.</p>
<p>It is important to distinguish between these synchronous signals generated in response to a hardware fault and signals generated asynchronously or in software. As an example, <code>SIGSEGV</code> will not re-raise autonomously if sent by <code>kill()</code>.</p>
<p>This function distinguishes between signals that can re-raise autonomously, and for those that can, between instances of the signal that were generated synchronously in response to a hardware fault and instances that were generated by other means.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">siginfo</td><td>A pointer to a <code>siginfo_t</code> object received by a signal handler.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> if the signal being handled will re-raise itself autonomously upon return from a signal handler. <code>false</code> if it will not. When this function returns <code>false</code>, a signal can still be re-raised upon return from a signal handler by calling <code>raise()</code> from within the signal handler.</dd></dl>
<dlclass="section note"><dt>Note</dt><dd>This function is safe to call from a signal handler. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>util/posix/signals.h</li>
<li>util/posix/signals.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hrclass="footer"/><addressclass="footer"><small>
Generated by  <ahref="http://www.doxygen.org/index.html">