Auto Generated Documentation

This commit is contained in:
github-actions[bot]
2021-03-14 20:06:11 +00:00
parent fcf47cbac9
commit 799a22692f
11450 changed files with 65837 additions and 83717 deletions
+2 -3
View File
@@ -1,7 +1,6 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate signal_hook_registry</p><div class="block version"><p>Version 1.3.0</p></div><a id="all-types" href="index.html"><p>Back to index</p></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">List of all items</span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span>
</span>
<span class="in-band">List of all items</span></h1><h3 id="Structs">Structs</h3><ul class="structs docblock"><li><a href="struct.SigId.html">SigId</a></li></ul><h3 id="Functions">Functions</h3><ul class="functions docblock"><li><a href="fn.register.html">register</a></li><li><a href="fn.register_sigaction.html">register_sigaction</a></li><li><a href="fn.register_signal_unchecked.html">register_signal_unchecked</a></li><li><a href="fn.register_unchecked.html">register_unchecked</a></li><li><a href="fn.unregister.html">unregister</a></li></ul><h3 id="Constants">Constants</h3><ul class="constants docblock"><li><a href="constant.FORBIDDEN.html">FORBIDDEN</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
<span class="in-band">List of all items</span></h1><h3 id="Structs">Structs</h3><ul class="structs docblock"><li><a href="struct.SigId.html">SigId</a></li></ul><h3 id="Functions">Functions</h3><ul class="functions docblock"><li><a href="fn.register.html">register</a></li><li><a href="fn.register_sigaction.html">register_sigaction</a></li><li><a href="fn.register_signal_unchecked.html">register_signal_unchecked</a></li><li><a href="fn.register_unchecked.html">register_unchecked</a></li><li><a href="fn.unregister.html">unregister</a></li></ul><h3 id="Constants">Constants</h3><ul class="constants docblock"><li><a href="constant.FORBIDDEN.html">FORBIDDEN</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
@@ -1,10 +1,9 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of forbidden signals."><meta name="keywords" content="rust, rustlang, rust-lang, FORBIDDEN"><title>signal_hook_registry::FORBIDDEN - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `FORBIDDEN` constant in crate `signal_hook_registry`."><meta name="keywords" content="rust, rustlang, rust-lang, FORBIDDEN"><title>signal_hook_registry::FORBIDDEN - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><div id="sidebar-vars" data-name="FORBIDDEN" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Constant <a href="index.html">signal_hook_registry</a>::<wbr><a class="constant" href="">FORBIDDEN</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#387" title="goto source code">[src]</a></span></h1><pre class="rust const">pub const FORBIDDEN: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>;</pre><div class="docblock"><p>List of forbidden signals.</p>
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><script>window.sidebarCurrent = {name: "FORBIDDEN", ty: "constant", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#387" title="goto source code">[src]</a></span><span class="in-band">Constant <a href="index.html">signal_hook_registry</a>::<wbr><a class="constant" href="">FORBIDDEN</a></span></h1><pre class="rust const">pub const FORBIDDEN: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>;</pre><div class="docblock"><p>List of forbidden signals.</p>
<p>Some signals are impossible to replace according to POSIX and some are so special that this
library refuses to handle them (eg. SIGSEGV). The routines panic in case registering one of
these signals is attempted.</p>
<p>See <a href="../signal_hook_registry/fn.register.html" title="register"><code>register</code></a>.</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
+13 -14
View File
@@ -1,12 +1,12 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Registers an arbitrary action for the given signal."><meta name="keywords" content="rust, rustlang, rust-lang, register"><title>signal_hook_registry::register - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `register` fn in crate `signal_hook_registry`."><meta name="keywords" content="rust, rustlang, rust-lang, register"><title>signal_hook_registry::register - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><div id="sidebar-vars" data-name="register" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#494-499" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub unsafe fn register&lt;F&gt;(signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, action: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Registers an arbitrary action for the given signal.</p>
<p>This makes sure theres a signal handler for the given signal. It then adds the action to the
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><script>window.sidebarCurrent = {name: "register", ty: "fn", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#494-499" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register</a></span></h1><pre class="rust fn">pub unsafe fn register&lt;F&gt;(signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, action: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Registers an arbitrary action for the given signal.</p>
<p>This makes sure there's a signal handler for the given signal. It then adds the action to the
ones called each time the signal is delivered. If multiple actions are set for the same signal,
all are called, in the order of registration.</p>
<p>If there was a previous signal handler for the given signal, it is chained it will be called
as part of this librarys signal handler, before any actions set through this function.</p>
as part of this library's signal handler, before any actions set through this function.</p>
<p>On success, the function returns an ID that can be used to remove the action again with
<a href="../signal_hook_registry/fn.unregister.html" title="unregister"><code>unregister</code></a>.</p>
<h1 id="panics" class="section-header"><a href="#panics">Panics</a></h1>
@@ -21,8 +21,8 @@ as part of this librarys signal handler, before any actions set through this
<p>The first two are not possible to override (and the underlying C functions simply ignore all
requests to do so, which smells of possible bugs, or return errors). The rest can be set, but
generally needs very special handling to do so correctly (direct manipulation of the
applications address space, <code>longjmp</code> and similar). Unless you know very well what youre
doing, youll shoot yourself into the foot and this library wont help you with that.</p>
application's address space, <code>longjmp</code> and similar). Unless you know very well what you're
doing, you'll shoot yourself into the foot and this library won't help you with that.</p>
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
<p>Since the library manipulates signals using the low-level C functions, all these can return
errors. Generally, the errors mean something like the specified signal does not exist on the
@@ -36,8 +36,8 @@ functions allowed to be called from within is very limited (they are called asyn
functions by POSIX). These specifically do <em>not</em> contain mutexes and memory
allocation/deallocation. They <em>do</em> contain routines to terminate the program, to further
manipulate signals (by the low-level functions, not by this library) and to read and write file
descriptors. Calling programs own functions consisting only of these is OK, as is manipulating
programs variables however, as the action can be called on any thread that does not have the
descriptors. Calling program's own functions consisting only of these is OK, as is manipulating
program's variables however, as the action can be called on any thread that does not have the
given signal masked (by default no signal is masked on any thread), and mutexes are a no-go,
this is harder than it looks like at first.</p>
<p>As panicking from within a signal handler would be a panic across FFI boundary (which is
@@ -46,7 +46,7 @@ undefined behavior), the passed handler must not panic.</p>
<a href="https://docs.rs/signal-hook">signal-hook</a> crate these provide safe interface to use some
common signal handling patters.</p>
<h1 id="race-condition" class="section-header"><a href="#race-condition">Race condition</a></h1>
<p>Upon registering the first hook for a given signal into this library, theres a short race
<p>Upon registering the first hook for a given signal into this library, there's a short race
condition under the following circumstances:</p>
<ul>
<li>The program already has a signal handler installed for this particular signal (through some
@@ -55,7 +55,7 @@ other library, possibly).</li>
installed by this library.</li>
<li>At the same time, the signal is delivered.</li>
</ul>
<p>Under such conditions signal-hook might wrongly “chain” to the older signal handler for a short
<p>Under such conditions signal-hook might wrongly &quot;chain&quot; to the older signal handler for a short
while (until the registration is fully complete).</p>
<p>Note that the exact conditions of the race condition might change in future versions of the
library. The recommended way to avoid it is to register signals before starting any additional
@@ -64,7 +64,7 @@ threads, or at least not to register signals concurrently.</p>
<h1 id="performance" class="section-header"><a href="#performance">Performance</a></h1>
<p>Even when it is possible to repeatedly install and remove actions during the lifetime of a
program, the installation and removal is considered a slow operation and should not be done
very often. Also, theres limited (though huge) amount of distinct IDs (they are <code>u128</code>).</p>
very often. Also, there's limited (though huge) amount of distinct IDs (they are <code>u128</code>).</p>
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">signal_hook_registry</span>;
@@ -80,5 +80,4 @@ very often. Also, theres limited (though huge) amount of distinct IDs (they a
<span class="ident">signal_hook_registry</span>::<span class="ident">unregister</span>(<span class="ident">signal</span>); <span class="comment">// Not really necessary.</span>
<span class="prelude-val">Ok</span>(())
}</pre></div>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
@@ -1,11 +1,10 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Register a signal action."><meta name="keywords" content="rust, rustlang, rust-lang, register_sigaction"><title>signal_hook_registry::register_sigaction - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `register_sigaction` fn in crate `signal_hook_registry`."><meta name="keywords" content="rust, rustlang, rust-lang, register_sigaction"><title>signal_hook_registry::register_sigaction - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><div id="sidebar-vars" data-name="register_sigaction" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register_sigaction</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#511-516" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub unsafe fn register_sigaction&lt;F&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;action: F<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../libc/unix/linux_like/linux/gnu/b64/x86_64/struct.siginfo_t.html" title="struct libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t">siginfo_t</a>) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Register a signal action.</p>
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><script>window.sidebarCurrent = {name: "register_sigaction", ty: "fn", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#511-516" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register_sigaction</a></span></h1><pre class="rust fn">pub unsafe fn register_sigaction&lt;F&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;action: F<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../libc/unix/linux_like/linux/gnu/b64/x86_64/struct.siginfo_t.html" title="struct libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t">siginfo_t</a>) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Register a signal action.</p>
<p>This acts in the same way as <a href="../signal_hook_registry/fn.register.html" title="register"><code>register</code></a>, including the drawbacks, panics and performance
characteristics. The only difference is the provided action accepts a <a href="../libc/unix/linux_like/linux/gnu/b64/x86_64/struct.siginfo_t.html" title="siginfo_t"><code>siginfo_t</code></a> argument,
providing information about the received signal.</p>
<h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
<p>See the details of <a href="../signal_hook_registry/fn.register.html" title="register"><code>register</code></a>.</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
@@ -1,11 +1,10 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Register a signal action without checking for forbidden signals."><meta name="keywords" content="rust, rustlang, rust-lang, register_signal_unchecked"><title>signal_hook_registry::register_signal_unchecked - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `register_signal_unchecked` fn in crate `signal_hook_registry`."><meta name="keywords" content="rust, rustlang, rust-lang, register_signal_unchecked"><title>signal_hook_registry::register_signal_unchecked - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><div id="sidebar-vars" data-name="register_signal_unchecked" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register_signal_unchecked</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#539-544" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub unsafe fn register_signal_unchecked&lt;F&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;action: F<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Register a signal action without checking for forbidden signals.</p>
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><script>window.sidebarCurrent = {name: "register_signal_unchecked", ty: "fn", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#539-544" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register_signal_unchecked</a></span></h1><pre class="rust fn">pub unsafe fn register_signal_unchecked&lt;F&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;action: F<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>() + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Register a signal action without checking for forbidden signals.</p>
<p>This acts in the same way as <a href="../signal_hook_registry/fn.register_unchecked.html" title="register_unchecked"><code>register_unchecked</code></a>, including the drawbacks, panics and
performance characteristics. The only difference is the provided action doesnt accept a
performance characteristics. The only difference is the provided action doesn't accept a
<a href="../libc/unix/linux_like/linux/gnu/b64/x86_64/struct.siginfo_t.html" title="siginfo_t"><code>siginfo_t</code></a> argument.</p>
<h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
<p>See the details of <a href="../signal_hook_registry/fn.register.html" title="register"><code>register</code></a>.</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
@@ -1,14 +1,13 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Register a signal action without checking for forbidden signals."><meta name="keywords" content="rust, rustlang, rust-lang, register_unchecked"><title>signal_hook_registry::register_unchecked - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `register_unchecked` fn in crate `signal_hook_registry`."><meta name="keywords" content="rust, rustlang, rust-lang, register_unchecked"><title>signal_hook_registry::register_unchecked - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><div id="sidebar-vars" data-name="register_unchecked" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register_unchecked</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#560-565" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub unsafe fn register_unchecked&lt;F&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;action: F<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../libc/unix/linux_like/linux/gnu/b64/x86_64/struct.siginfo_t.html" title="struct libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t">siginfo_t</a>) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Register a signal action without checking for forbidden signals.</p>
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><script>window.sidebarCurrent = {name: "register_unchecked", ty: "fn", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#560-565" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">register_unchecked</a></span></h1><pre class="rust fn">pub unsafe fn register_unchecked&lt;F&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;signal: <a class="type" href="../libc/unix/type.c_int.html" title="type libc::unix::c_int">c_int</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;action: F<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="struct" href="../libc/unix/linux_like/linux/gnu/b64/x86_64/struct.siginfo_t.html" title="struct libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t">siginfo_t</a>) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,&nbsp;</span></pre><div class="docblock"><p>Register a signal action without checking for forbidden signals.</p>
<p>This acts the same way as <a href="../signal_hook_registry/fn.register_sigaction.html" title="register_sigaction"><code>register_sigaction</code></a>, but without checking for the <a href="../signal_hook_registry/constant.FORBIDDEN.html" title="FORBIDDEN"><code>FORBIDDEN</code></a>
signals. All the signals passed are registered and it is up to the caller to make some sense of
them.</p>
<p>Note that you really need to know what youre doing if you change eg. the <code>SIGSEGV</code> signal
handler. Generally, you dont want to do that. But unlike the other functions here, this
<p>Note that you really need to know what you're doing if you change eg. the <code>SIGSEGV</code> signal
handler. Generally, you don't want to do that. But unlike the other functions here, this
function still allows you to do it.</p>
<h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
<p>See the details of <a href="../signal_hook_registry/fn.register.html" title="register"><code>register</code></a>.</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
+5 -6
View File
@@ -1,9 +1,9 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Removes a previously installed action."><meta name="keywords" content="rust, rustlang, rust-lang, unregister"><title>signal_hook_registry::unregister - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `unregister` fn in crate `signal_hook_registry`."><meta name="keywords" content="rust, rustlang, rust-lang, unregister"><title>signal_hook_registry::unregister - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><div id="sidebar-vars" data-name="unregister" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">unregister</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#632-644" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn unregister(id: <a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></pre><div class="docblock"><p>Removes a previously installed action.</p>
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">signal_hook_registry</a></p><script>window.sidebarCurrent = {name: "unregister", ty: "fn", relpath: ""};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#632-644" title="goto source code">[src]</a></span><span class="in-band">Function <a href="index.html">signal_hook_registry</a>::<wbr><a class="fn" href="">unregister</a></span></h1><pre class="rust fn">pub fn unregister(id: <a class="struct" href="../signal_hook_registry/struct.SigId.html" title="struct signal_hook_registry::SigId">SigId</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></pre><div class="docblock"><p>Removes a previously installed action.</p>
<p>This function does nothing if the action was already removed. It returns true if it was removed
and false if the action wasnt found.</p>
and false if the action wasn't found.</p>
<p>It can unregister all the actions installed by <a href="../signal_hook_registry/fn.register.html" title="register"><code>register</code></a> as well as the ones from downstream
crates (like <a href="https://docs.rs/signal-hook"><code>signal-hook</code></a>).</p>
<h1 id="warning" class="section-header"><a href="#warning">Warning</a></h1>
@@ -14,5 +14,4 @@ terminate on them as is the default action. This is OK if you remove it as part
but it is not recommended to remove termination actions during the normal runtime of
application (unless the desired effect is to create something that can be terminated only by
SIGKILL).</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
+9 -10
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Backend of the signal-hook crate."><meta name="keywords" content="rust, rustlang, rust-lang, signal_hook_registry"><title>signal_hook_registry - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `signal_hook_registry` crate."><meta name="keywords" content="rust, rustlang, rust-lang, signal_hook_registry"><title>signal_hook_registry - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate signal_hook_registry</p><div class="block version"><p>Version 1.3.0</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all signal_hook_registry's items</p></a><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"></p><div id="sidebar-vars" data-name="signal_hook_registry" data-ty="mod" data-relpath="../"></div></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="">signal_hook_registry</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#1-782" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Backend of the <a href="https://docs.rs/signal-hook">signal-hook</a> crate.</p>
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../signal_hook_registry/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate signal_hook_registry</p><div class="block version"><p>Version 1.3.0</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all signal_hook_registry's items</p></a><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"></p><script>window.sidebarCurrent = {name: "signal_hook_registry", ty: "mod", relpath: "../"};</script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/signal_hook_registry/lib.rs.html#1-782" title="goto source code">[src]</a></span><span class="in-band">Crate <a class="mod" href="">signal_hook_registry</a></span></h1><div class="docblock"><p>Backend of the <a href="https://docs.rs/signal-hook">signal-hook</a> crate.</p>
<p>The <a href="https://docs.rs/signal-hook">signal-hook</a> crate tries to provide an API to the unix signals, which are a global
resource. Therefore, it is desirable an application contains just one version of the crate
which manages this global resource. But that makes it impossible to make breaking changes in
@@ -25,20 +25,20 @@ signals. The <a href="https://docs.rs/signal-hook">signal-hook</a> is the genera
application and provides several safe patterns of doing so.</p>
<h1 id="rust-version-compatibility" class="section-header"><a href="#rust-version-compatibility">Rust version compatibility</a></h1>
<p>Currently builds on 1.26.0 an newer and this is very unlikely to change. However, tests
require dependencies that dont build there, so tests need newer Rust version (they are run on
require dependencies that don't build there, so tests need newer Rust version (they are run on
stable).</p>
<h1 id="portability" class="section-header"><a href="#portability">Portability</a></h1>
<p>This crate includes a limited support for Windows, based on <code>signal</code>/<code>raise</code> in the CRT.
There are differences in both API and behavior:</p>
<ul>
<li>Due to lack of <code>siginfo_t</code>, we dont provide <code>register_sigaction</code> or <code>register_unchecked</code>.</li>
<li>Due to lack of signal blocking, theres a race condition.
After the call to <code>signal</code>, theres a moment where we miss a signal.
<li>Due to lack of <code>siginfo_t</code>, we don't provide <code>register_sigaction</code> or <code>register_unchecked</code>.</li>
<li>Due to lack of signal blocking, there's a race condition.
After the call to <code>signal</code>, there's a moment where we miss a signal.
That means when you register a handler, there may be a signal which invokes
neither the default handler or the handler you register.</li>
<li>Handlers registered by <code>signal</code> in Windows are cleared on first signal.
To match behavior in other platforms, we re-register the handler each time the handler is
called, but theres a moment where we miss a handler.
called, but there's a moment where we miss a handler.
That means when you receive two signals in a row, there may be a signal which invokes
the default handler, nevertheless you certainly have registered the handler.</li>
</ul>
@@ -52,5 +52,4 @@ the default handler, nevertheless you certainly have registered the handler.</li
</td></tr><tr class="module-item"><td><a class="fn" href="fn.register_signal_unchecked.html" title="signal_hook_registry::register_signal_unchecked fn">register_signal_unchecked</a><a title="unsafe function" href="#"><sup></sup></a></td><td class="docblock-short"><p>Register a signal action without checking for forbidden signals.</p>
</td></tr><tr class="module-item"><td><a class="fn" href="fn.register_unchecked.html" title="signal_hook_registry::register_unchecked fn">register_unchecked</a><a title="unsafe function" href="#"><sup></sup></a></td><td class="docblock-short"><p>Register a signal action without checking for forbidden signals.</p>
</td></tr><tr class="module-item"><td><a class="fn" href="fn.unregister.html" title="signal_hook_registry::unregister fn">unregister</a></td><td class="docblock-short"><p>Removes a previously installed action.</p>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="signal_hook_registry"></div>
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "signal_hook_registry";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
File diff suppressed because one or more lines are too long