chyyuu 3 years ago
parent d84306f7a1
commit 205c365efd

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module stdio</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#structs">Structs</a></li></ul></div></section><div id="sidebar-vars" data-name="stdio" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../../os/index.html"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../../index.html">os</a>::<wbr><a href="../index.html">fs</a>::<wbr><a class="mod" href="#">stdio</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../../src/os/fs/stdio.rs.html#1-57">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<h1 class="fqn"><span class="in-band">Module <a href="../../index.html">os</a>::<wbr><a href="../index.html">fs</a>::<wbr><a class="mod" href="#">stdio</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../../src/os/fs/stdio.rs.html#1-62">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Stdin.html" title="os::fs::stdio::Stdin struct">Stdin</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Stdout.html" title="os::fs::stdio::Stdout struct">Stdout</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -9,5 +9,5 @@
<span class="item-spacer"></span> fn <a href="#tymethod.writable" class="fnname">writable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.read" class="fnname">read</a>(&amp;self, buf: <a class="struct" href="../mm/page_table/struct.UserBuffer.html" title="struct os::mm::page_table::UserBuffer">UserBuffer</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.write" class="fnname">write</a>(&amp;self, buf: <a class="struct" href="../mm/page_table/struct.UserBuffer.html" title="struct os::mm::page_table::UserBuffer">UserBuffer</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>;
}</code></pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><div id="tymethod.readable" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#8">source</a></div><h4 class="code-header">fn <a href="#tymethod.readable" class="fnname">readable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div><div id="tymethod.writable" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#9">source</a></div><h4 class="code-header">fn <a href="#tymethod.writable" class="fnname">writable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div><div id="tymethod.read" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#10">source</a></div><h4 class="code-header">fn <a href="#tymethod.read" class="fnname">read</a>(&amp;self, buf: <a class="struct" href="../mm/page_table/struct.UserBuffer.html" title="struct os::mm::page_table::UserBuffer">UserBuffer</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></h4></div><div id="tymethod.write" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#11">source</a></div><h4 class="code-header">fn <a href="#tymethod.write" class="fnname">write</a>(&amp;self, buf: <a class="struct" href="../mm/page_table/struct.UserBuffer.html" title="struct os::mm::page_table::UserBuffer">UserBuffer</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></h4></div></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><section id="impl-File" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/inode.rs.html#108-139">source</a></span><a href="#impl-File" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="inode/struct.OSInode.html" title="struct os::fs::inode::OSInode">OSInode</a></h3></section><section id="impl-File-1" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/pipe.rs.html#108-166">source</a></span><a href="#impl-File-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="pipe/struct.Pipe.html" title="struct os::fs::pipe::Pipe">Pipe</a></h3></section><section id="impl-File-2" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/stdio.rs.html#10-39">source</a></span><a href="#impl-File-2" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="stdio/struct.Stdin.html" title="struct os::fs::stdio::Stdin">Stdin</a></h3></section><section id="impl-File-3" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/stdio.rs.html#41-57">source</a></span><a href="#impl-File-3" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="stdio/struct.Stdout.html" title="struct os::fs::stdio::Stdout">Stdout</a></h3></section></div><script type="text/javascript" src="../../implementors/os/fs/trait.File.js" async></script></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
}</code></pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><div id="tymethod.readable" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#8">source</a></div><h4 class="code-header">fn <a href="#tymethod.readable" class="fnname">readable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div><div id="tymethod.writable" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#9">source</a></div><h4 class="code-header">fn <a href="#tymethod.writable" class="fnname">writable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div><div id="tymethod.read" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#10">source</a></div><h4 class="code-header">fn <a href="#tymethod.read" class="fnname">read</a>(&amp;self, buf: <a class="struct" href="../mm/page_table/struct.UserBuffer.html" title="struct os::mm::page_table::UserBuffer">UserBuffer</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></h4></div><div id="tymethod.write" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/fs/mod.rs.html#11">source</a></div><h4 class="code-header">fn <a href="#tymethod.write" class="fnname">write</a>(&amp;self, buf: <a class="struct" href="../mm/page_table/struct.UserBuffer.html" title="struct os::mm::page_table::UserBuffer">UserBuffer</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></h4></div></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><section id="impl-File" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/inode.rs.html#108-139">source</a></span><a href="#impl-File" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="inode/struct.OSInode.html" title="struct os::fs::inode::OSInode">OSInode</a></h3></section><section id="impl-File-1" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/pipe.rs.html#108-166">source</a></span><a href="#impl-File-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="pipe/struct.Pipe.html" title="struct os::fs::pipe::Pipe">Pipe</a></h3></section><section id="impl-File-2" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/stdio.rs.html#10-44">source</a></span><a href="#impl-File-2" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="stdio/struct.Stdin.html" title="struct os::fs::stdio::Stdin">Stdin</a></h3></section><section id="impl-File-3" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/fs/stdio.rs.html#46-62">source</a></span><a href="#impl-File-3" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.File.html" title="trait os::fs::File">File</a> for <a class="struct" href="stdio/struct.Stdout.html" title="struct os::fs::stdio::Stdout">Stdout</a></h3></section></div><script type="text/javascript" src="../../implementors/os/fs/trait.File.js" async></script></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="add_initproc" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">add_initproc</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#92-94">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn add_initproc()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">add_initproc</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#91-93">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn add_initproc()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="call_kernel_signal_handler" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">call_kernel_signal_handler</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#108-126">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn call_kernel_signal_handler(signal: <a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">call_kernel_signal_handler</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#115-137">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn call_kernel_signal_handler(signal: <a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="call_user_signal_handler" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">call_user_signal_handler</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#128-148">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn call_user_signal_handler(sig: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, signal: <a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">call_user_signal_handler</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#139-166">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn call_user_signal_handler(sig: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, signal: <a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="check_pending_signals" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">check_pending_signals</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#150-185">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn check_pending_signals()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">check_pending_signals</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#168-212">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn check_pending_signals()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="check_signals_error_of_current" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">check_signals_error_of_current</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#96-100">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn check_signals_error_of_current() -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.i32.html">i32</a>, &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">)</a>&gt;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">check_signals_error_of_current</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#95-103">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn check_signals_error_of_current() -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.i32.html">i32</a>, &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">)</a>&gt;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="current_add_signal" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">current_add_signal</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#102-106">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn current_add_signal(signal: <a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">current_add_signal</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#105-113">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn current_add_signal(signal: <a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="exit_current_and_run_next" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">exit_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#47-82">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn exit_current_and_run_next(exit_code: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.i32.html">i32</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">exit_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#46-81">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn exit_current_and_run_next(exit_code: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.i32.html">i32</a>)</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="handle_signals" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">handle_signals</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#187-202">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn handle_signals()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">handle_signals</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#214-229">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn handle_signals()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,5 +4,5 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="suspend_current_and_run_next" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">suspend_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#29-45">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn suspend_current_and_run_next()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">suspend_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#28-44">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn suspend_current_and_run_next()</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,8 +4,8 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module task</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div></section><div id="sidebar-vars" data-name="task" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#1-202">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left import-item"><code>pub use context::<a class="struct" href="context/struct.TaskContext.html" title="struct os::task::context::TaskContext">TaskContext</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use manager::<a class="fn" href="manager/fn.add_task.html" title="fn os::task::manager::add_task">add_task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use manager::<a class="fn" href="manager/fn.pid2task.html" title="fn os::task::manager::pid2task">pid2task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use pid::<a class="fn" href="pid/fn.pid_alloc.html" title="fn os::task::pid::pid_alloc">pid_alloc</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use pid::<a class="struct" href="pid/struct.KernelStack.html" title="struct os::task::pid::KernelStack">KernelStack</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use pid::<a class="struct" href="pid/struct.PidHandle.html" title="struct os::task::pid::PidHandle">PidHandle</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.current_task.html" title="fn os::task::processor::current_task">current_task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.current_trap_cx.html" title="fn os::task::processor::current_trap_cx">current_trap_cx</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.current_user_token.html" title="fn os::task::processor::current_user_token">current_user_token</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.run_tasks.html" title="fn os::task::processor::run_tasks">run_tasks</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.schedule.html" title="fn os::task::processor::schedule">schedule</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.take_current_task.html" title="fn os::task::processor::take_current_task">take_current_task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use signal::<a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use signal::<a class="constant" href="signal/constant.MAX_SIG.html" title="constant os::task::signal::MAX_SIG">MAX_SIG</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use action::<a class="struct" href="action/struct.SignalAction.html" title="struct os::task::action::SignalAction">SignalAction</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use action::<a class="struct" href="action/struct.SignalActions.html" title="struct os::task::action::SignalActions">SignalActions</a>;</code></div><div class="item-right docblock-short"></div></div></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#1-229">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left import-item"><code>pub use context::<a class="struct" href="context/struct.TaskContext.html" title="struct os::task::context::TaskContext">TaskContext</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use action::<a class="struct" href="action/struct.SignalAction.html" title="struct os::task::action::SignalAction">SignalAction</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use action::<a class="struct" href="action/struct.SignalActions.html" title="struct os::task::action::SignalActions">SignalActions</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use manager::<a class="fn" href="manager/fn.add_task.html" title="fn os::task::manager::add_task">add_task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use manager::<a class="fn" href="manager/fn.pid2task.html" title="fn os::task::manager::pid2task">pid2task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use pid::<a class="fn" href="pid/fn.pid_alloc.html" title="fn os::task::pid::pid_alloc">pid_alloc</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use pid::<a class="struct" href="pid/struct.KernelStack.html" title="struct os::task::pid::KernelStack">KernelStack</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use pid::<a class="struct" href="pid/struct.PidHandle.html" title="struct os::task::pid::PidHandle">PidHandle</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.current_task.html" title="fn os::task::processor::current_task">current_task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.current_trap_cx.html" title="fn os::task::processor::current_trap_cx">current_trap_cx</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.current_user_token.html" title="fn os::task::processor::current_user_token">current_user_token</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.run_tasks.html" title="fn os::task::processor::run_tasks">run_tasks</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.schedule.html" title="fn os::task::processor::schedule">schedule</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use processor::<a class="fn" href="processor/fn.take_current_task.html" title="fn os::task::processor::take_current_task">take_current_task</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use signal::<a class="struct" href="signal/struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>;</code></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left import-item"><code>pub use signal::<a class="constant" href="signal/constant.MAX_SIG.html" title="constant os::task::signal::MAX_SIG">MAX_SIG</a>;</code></div><div class="item-right docblock-short"></div></div></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="action/index.html" title="os::task::action mod">action</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="context/index.html" title="os::task::context mod">context</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="manager/index.html" title="os::task::manager mod">manager</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="pid/index.html" title="os::task::pid mod">pid</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="processor/index.html" title="os::task::processor mod">processor</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="signal/index.html" title="os::task::signal mod">signal</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="switch/index.html" title="os::task::switch mod">switch</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="task/index.html" title="os::task::task mod">task</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.INITPROC.html" title="os::task::INITPROC struct">INITPROC</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.add_initproc.html" title="os::task::add_initproc fn">add_initproc</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.call_kernel_signal_handler.html" title="os::task::call_kernel_signal_handler fn">call_kernel_signal_handler</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.call_user_signal_handler.html" title="os::task::call_user_signal_handler fn">call_user_signal_handler</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.check_pending_signals.html" title="os::task::check_pending_signals fn">check_pending_signals</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.check_signals_error_of_current.html" title="os::task::check_signals_error_of_current fn">check_signals_error_of_current</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.current_add_signal.html" title="os::task::current_add_signal fn">current_add_signal</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.exit_current_and_run_next.html" title="os::task::exit_current_and_run_next fn">exit_current_and_run_next</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.handle_signals.html" title="os::task::handle_signals fn">handle_signals</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.suspend_current_and_run_next.html" title="os::task::suspend_current_and_run_next fn">suspend_current_and_run_next</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>

@ -4,7 +4,7 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module signal</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li></ul></div></section><div id="sidebar-vars" data-name="signal" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../../os/index.html"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../../index.html">os</a>::<wbr><a href="../index.html">task</a>::<wbr><a class="mod" href="#">signal</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../../src/os/task/signal.rs.html#1-60">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<h1 class="fqn"><span class="in-band">Module <a href="../../index.html">os</a>::<wbr><a href="../index.html">task</a>::<wbr><a class="mod" href="#">signal</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../../src/os/task/signal.rs.html#1-61">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.SignalFlags.html" title="os::task::signal::SignalFlags struct">SignalFlags</a></div><div class="item-right docblock-short"></div></div></div><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.MAX_SIG.html" title="os::task::signal::MAX_SIG constant">MAX_SIG</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -64,7 +64,7 @@ not set in <code>self</code>, but which are allowed for this type.</p>
between <a href="struct.SignalFlags.html#method.all"><code>Self::all()</code></a> and <code>self</code> (e.g. <code>Self::all() - self</code>)</p>
<p>This is equivalent to using the <code>!</code> operator (e.g.
<a href="https://doc.rust-lang.org/std/ops/trait.Not.html"><code>ops::Not</code></a>), as in <code>!flags</code>.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-1" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#42-60">source</a></span><a href="#impl-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a></h3></section></summary><div class="impl-items"><section id="method.check_error" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#43-59">source</a></span><a href="#method.check_error" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.check_error" class="fnname">check_error</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.i32.html">i32</a>, &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">)</a>&gt;</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Binary" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#impl-Binary" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html" title="trait core::fmt::Binary">Binary</a> for <a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#method.fmt-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'><p>Formats the value using the given formatter.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-1" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#42-61">source</a></span><a href="#impl-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a></h3></section></summary><div class="impl-items"><section id="method.check_error" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#43-60">source</a></span><a href="#method.check_error" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.check_error" class="fnname">check_error</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.i32.html">i32</a>, &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.tuple.html">)</a>&gt;</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Binary" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#impl-Binary" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html" title="trait core::fmt::Binary">Binary</a> for <a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#method.fmt-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'><p>Formats the value using the given formatter.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitAnd%3CSignalFlags%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#impl-BitAnd%3CSignalFlags%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html" title="trait core::ops::bit::BitAnd">BitAnd</a>&lt;<a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>&gt; for <a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.bitand" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#method.bitand" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html#tymethod.bitand" class="fnname">bitand</a>(self, other: Self) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns the intersection between the two sets of flags.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-2" class="type trait-impl has-srclink"><a href="#associatedtype.Output-2" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html#associatedtype.Output" class="associatedtype">Output</a> = Self</h4></section></summary><div class='docblock'><p>The resulting type after applying the <code>&amp;</code> operator.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitAndAssign%3CSignalFlags%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#impl-BitAndAssign%3CSignalFlags%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAndAssign.html" title="trait core::ops::bit::BitAndAssign">BitAndAssign</a>&lt;<a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a>&gt; for <a class="struct" href="struct.SignalFlags.html" title="struct os::task::signal::SignalFlags">SignalFlags</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.bitand_assign" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../../../src/os/task/signal.rs.html#5-40">source</a></span><a href="#method.bitand_assign" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAndAssign.html#tymethod.bitand_assign" class="fnname">bitand_assign</a>(&amp;mut self, other: Self)</h4></section></summary><div class="docblock"><p>Disables all flags disabled in the set.</p>

@ -4,11 +4,11 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">INITPROC</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><ul><li><a href="#structfield.__private_field">__private_field</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><ul><li><a href="#impl-Deref">Deref</a></li><li><a href="#impl-LazyStatic">LazyStatic</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul><li><a href="#impl-RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send">Send</a></li><li><a href="#impl-Sync">Sync</a></li><li><a href="#impl-Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe">UnwindSafe</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><ul><li><a href="#impl-Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></li></ul></div></section><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="INITPROC" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Struct <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="struct" href="#">INITPROC</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#84-90">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust struct"><code>pub struct INITPROC {
<h1 class="fqn"><span class="in-band">Struct <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="struct" href="#">INITPROC</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#83-89">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust struct"><code>pub struct INITPROC {
__private_field: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.unit.html">()</a>,
}</code></pre></div><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.__private_field" class="structfield small-section-header"><a href="#structfield.__private_field" class="anchor field"></a><code>__private_field: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.unit.html">()</a></code></span><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Deref" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#84-90">source</a></span><a href="#impl-Deref" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Target" class="type trait-impl has-srclink"><a href="#associatedtype.Target" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="task/struct.TaskControlBlock.html" title="struct os::task::task::TaskControlBlock">TaskControlBlock</a>&gt;</h4></section></summary><div class='docblock'><p>The resulting type after dereferencing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#84-90">source</a></span><a href="#method.deref" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="task/struct.TaskControlBlock.html" title="struct os::task::task::TaskControlBlock">TaskControlBlock</a>&gt;</h4></section></summary><div class='docblock'><p>Dereferences the value.</p>
</div></details></div></details><section id="impl-LazyStatic" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#84-90">source</a></span><a href="#impl-LazyStatic" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://docs.rs/lazy_static/1.4.0/lazy_static/trait.LazyStatic.html" title="trait lazy_static::LazyStatic">LazyStatic</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe" class="impl has-srclink"><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-Send" class="impl has-srclink"><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-Sync" class="impl has-srclink"><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-Unpin" class="impl has-srclink"><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-UnwindSafe" class="impl has-srclink"><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136">source</a></span><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133">source</a></span><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
}</code></pre></div><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.__private_field" class="structfield small-section-header"><a href="#structfield.__private_field" class="anchor field"></a><code>__private_field: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.unit.html">()</a></code></span><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Deref" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#83-89">source</a></span><a href="#impl-Deref" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Target" class="type trait-impl has-srclink"><a href="#associatedtype.Target" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="task/struct.TaskControlBlock.html" title="struct os::task::task::TaskControlBlock">TaskControlBlock</a>&gt;</h4></section></summary><div class='docblock'><p>The resulting type after dereferencing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#83-89">source</a></span><a href="#method.deref" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&amp;self) -&gt; &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="task/struct.TaskControlBlock.html" title="struct os::task::task::TaskControlBlock">TaskControlBlock</a>&gt;</h4></section></summary><div class='docblock'><p>Dereferences the value.</p>
</div></details></div></details><section id="impl-LazyStatic" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#83-89">source</a></span><a href="#impl-LazyStatic" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://docs.rs/lazy_static/1.4.0/lazy_static/trait.LazyStatic.html" title="trait lazy_static::LazyStatic">LazyStatic</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe" class="impl has-srclink"><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-Send" class="impl has-srclink"><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-Sync" class="impl has-srclink"><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-Unpin" class="impl has-srclink"><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section><section id="impl-UnwindSafe" class="impl has-srclink"><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.INITPROC.html" title="struct os::task::INITPROC">INITPROC</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136">source</a></span><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133">source</a></span><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#209-214">source</a></span><a href="#impl-Borrow%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-222">source</a></span><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#557-562">source</a></span><a href="#impl-From%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#559">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>

@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::trap</a></h2><div id="sidebar-vars" data-name="trap_from_kernel" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">trap</a>::<wbr><a class="fn" href="#">trap_from_kernel</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#122-126">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>#[no_mangle]
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">trap</a>::<wbr><a class="fn" href="#">trap_from_kernel</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#123-127">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>#[no_mangle]
pub fn trap_from_kernel() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::trap</a></h2><div id="sidebar-vars" data-name="trap_handler" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">trap</a>::<wbr><a class="fn" href="#">trap_handler</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#42-97">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>#[no_mangle]
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">trap</a>::<wbr><a class="fn" href="#">trap_handler</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#42-98">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>#[no_mangle]
pub fn trap_handler() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::trap</a></h2><div id="sidebar-vars" data-name="trap_return" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">trap</a>::<wbr><a class="fn" href="#">trap_return</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#100-119">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>#[no_mangle]
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">trap</a>::<wbr><a class="fn" href="#">trap_return</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#101-120">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>#[no_mangle]
pub fn trap_return() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>

@ -4,7 +4,7 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module trap</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#modules">Modules</a></li><li><a href="#functions">Functions</a></li></ul></div></section><div id="sidebar-vars" data-name="trap" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">trap</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#1-128">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2>
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">trap</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/trap/mod.rs.html#1-129">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left import-item"><code>pub use context::<a class="struct" href="context/struct.TrapContext.html" title="struct os::trap::context::TrapContext">TrapContext</a>;</code></div><div class="item-right docblock-short"></div></div></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="context/index.html" title="os::trap::context mod">context</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.enable_timer_interrupt.html" title="os::trap::enable_timer_interrupt fn">enable_timer_interrupt</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.init.html" title="os::trap::init fn">init</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.set_kernel_trap_entry.html" title="os::trap::set_kernel_trap_entry fn">set_kernel_trap_entry</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.set_user_trap_entry.html" title="os::trap::set_user_trap_entry fn">set_user_trap_entry</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.trap_from_kernel.html" title="os::trap::trap_from_kernel fn">trap_from_kernel</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.trap_handler.html" title="os::trap::trap_handler fn">trap_handler</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.trap_return.html" title="os::trap::trap_return fn">trap_return</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>

@ -60,10 +60,15 @@
<span id="55">55</span>
<span id="56">56</span>
<span id="57">57</span>
<span id="58">58</span>
<span id="59">59</span>
<span id="60">60</span>
<span id="61">61</span>
<span id="62">62</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident"><span class="kw">super</span>::File</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::mm::UserBuffer</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::sbi::console_getchar</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::task::suspend_current_and_run_next</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::task</span>::{<span class="ident">suspend_current_and_run_next</span>,<span class="ident">current_add_signal</span>,<span class="ident">SignalFlags</span>,};
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Stdin</span>;
@ -85,6 +90,11 @@
<span class="kw">if</span> <span class="ident">c</span> <span class="op">==</span> <span class="number">0</span> {
<span class="ident">suspend_current_and_run_next</span>();
<span class="kw">continue</span>;
} <span class="kw">else</span> <span class="kw">if</span> <span class="ident">c</span> <span class="op">==</span> <span class="number">3</span> {
<span class="comment">// 3 is ctrl_c</span>
<span class="comment">//println!(&quot;[K] os/fs/stdio/read: Got Ctrl_C&quot;);</span>
<span class="ident">current_add_signal</span>(<span class="ident">SignalFlags::SIGINT</span>);
<span class="kw">break</span>;
} <span class="kw">else</span> {
<span class="kw">break</span>;
}

@ -205,13 +205,40 @@
<span id="200">200</span>
<span id="201">201</span>
<span id="202">202</span>
</pre><pre class="rust"><code><span class="kw">mod</span> <span class="ident">context</span>;
<span id="203">203</span>
<span id="204">204</span>
<span id="205">205</span>
<span id="206">206</span>
<span id="207">207</span>
<span id="208">208</span>
<span id="209">209</span>
<span id="210">210</span>
<span id="211">211</span>
<span id="212">212</span>
<span id="213">213</span>
<span id="214">214</span>
<span id="215">215</span>
<span id="216">216</span>
<span id="217">217</span>
<span id="218">218</span>
<span id="219">219</span>
<span id="220">220</span>
<span id="221">221</span>
<span id="222">222</span>
<span id="223">223</span>
<span id="224">224</span>
<span id="225">225</span>
<span id="226">226</span>
<span id="227">227</span>
<span id="228">228</span>
<span id="229">229</span>
</pre><pre class="rust"><code><span class="kw">mod</span> <span class="ident">action</span>;
<span class="kw">mod</span> <span class="ident">context</span>;
<span class="kw">mod</span> <span class="ident">manager</span>;
<span class="kw">mod</span> <span class="ident">pid</span>;
<span class="kw">mod</span> <span class="ident">processor</span>;
<span class="kw">mod</span> <span class="ident">signal</span>;
<span class="kw">mod</span> <span class="ident">switch</span>;
<span class="kw">mod</span> <span class="ident">action</span>;
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy::module_inception</span>)]</span>
<span class="kw">mod</span> <span class="ident">task</span>;
@ -224,14 +251,13 @@
<span class="kw">use</span> <span class="ident">switch::__switch</span>;
<span class="kw">use</span> <span class="ident">task</span>::{<span class="ident">TaskControlBlock</span>, <span class="ident">TaskStatus</span>};
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">action</span>::{<span class="ident">SignalAction</span>, <span class="ident">SignalActions</span>};
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">manager</span>::{<span class="ident">add_task</span>, <span class="ident">pid2task</span>};
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">pid</span>::{<span class="ident">pid_alloc</span>, <span class="ident">KernelStack</span>, <span class="ident">PidHandle</span>};
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">processor</span>::{
<span class="ident">current_task</span>, <span class="ident">current_trap_cx</span>, <span class="ident">current_user_token</span>, <span class="ident">run_tasks</span>, <span class="ident">schedule</span>, <span class="ident">take_current_task</span>,
};
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">signal</span>::{<span class="ident">SignalFlags</span>, <span class="ident">MAX_SIG</span>};
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">action</span>::{<span class="ident">SignalAction</span>, <span class="ident">SignalActions</span>};
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">suspend_current_and_run_next</span>() {
<span class="comment">// There must be an application running.</span>
@ -303,6 +329,10 @@
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">check_signals_error_of_current</span>() -&gt; <span class="prelude-ty">Option</span><span class="op">&lt;</span>(<span class="ident">i32</span>, <span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span>)<span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">task</span> <span class="op">=</span> <span class="ident">current_task</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">task_inner</span> <span class="op">=</span> <span class="ident">task</span>.<span class="ident">inner_exclusive_access</span>();
<span class="comment">// println!(</span>
<span class="comment">// &quot;[K] check_signals_error_of_current {:?}&quot;,</span>
<span class="comment">// task_inner.signals</span>
<span class="comment">// );</span>
<span class="ident">task_inner</span>.<span class="ident">signals</span>.<span class="ident">check_error</span>()
}
@ -310,6 +340,10 @@
<span class="kw">let</span> <span class="ident">task</span> <span class="op">=</span> <span class="ident">current_task</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">task_inner</span> <span class="op">=</span> <span class="ident">task</span>.<span class="ident">inner_exclusive_access</span>();
<span class="ident">task_inner</span>.<span class="ident">signals</span> <span class="op">|</span><span class="op">=</span> <span class="ident">signal</span>;
<span class="comment">// println!(</span>
<span class="comment">// &quot;[K] current_add_signal:: current task sigflag {:?}&quot;,</span>
<span class="comment">// task_inner.signals</span>
<span class="comment">// );</span>
}
<span class="kw">fn</span> <span class="ident">call_kernel_signal_handler</span>(<span class="ident">signal</span>: <span class="ident">SignalFlags</span>) {
@ -327,6 +361,10 @@
}
}
<span class="kw">_</span> =&gt; {
<span class="comment">// println!(</span>
<span class="comment">// &quot;[K] call_kernel_signal_handler:: current task sigflag {:?}&quot;,</span>
<span class="comment">// task_inner.signals</span>
<span class="comment">// );</span>
<span class="ident">task_inner</span>.<span class="ident">killed</span> <span class="op">=</span> <span class="bool-val">true</span>;
}
}
@ -337,21 +375,28 @@
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">task_inner</span> <span class="op">=</span> <span class="ident">task</span>.<span class="ident">inner_exclusive_access</span>();
<span class="kw">let</span> <span class="ident">handler</span> <span class="op">=</span> <span class="ident">task_inner</span>.<span class="ident">signal_actions</span>.<span class="ident">table</span>[<span class="ident">sig</span>].<span class="ident">handler</span>;
<span class="comment">// change current mask</span>
<span class="ident">task_inner</span>.<span class="ident">signal_mask</span> <span class="op">=</span> <span class="ident">task_inner</span>.<span class="ident">signal_actions</span>.<span class="ident">table</span>[<span class="ident">sig</span>].<span class="ident">mask</span>;
<span class="comment">// handle flag</span>
<span class="ident">task_inner</span>.<span class="ident">handling_sig</span> <span class="op">=</span> <span class="ident">sig</span> <span class="kw">as</span> <span class="ident">isize</span>;
<span class="ident">task_inner</span>.<span class="ident">signals</span> <span class="op">^</span><span class="op">=</span> <span class="ident">signal</span>;
<span class="kw">if</span> <span class="ident">handler</span> <span class="op">!</span><span class="op">=</span> <span class="number">0</span> {
<span class="comment">// user handler</span>
<span class="comment">// change current mask</span>
<span class="ident">task_inner</span>.<span class="ident">signal_mask</span> <span class="op">=</span> <span class="ident">task_inner</span>.<span class="ident">signal_actions</span>.<span class="ident">table</span>[<span class="ident">sig</span>].<span class="ident">mask</span>;
<span class="comment">// handle flag</span>
<span class="ident">task_inner</span>.<span class="ident">handling_sig</span> <span class="op">=</span> <span class="ident">sig</span> <span class="kw">as</span> <span class="ident">isize</span>;
<span class="ident">task_inner</span>.<span class="ident">signals</span> <span class="op">^</span><span class="op">=</span> <span class="ident">signal</span>;
<span class="comment">// backup trapframe</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">trap_ctx</span> <span class="op">=</span> <span class="ident">task_inner</span>.<span class="ident">get_trap_cx</span>();
<span class="ident">task_inner</span>.<span class="ident">trap_ctx_backup</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">trap_ctx</span>);
<span class="comment">// backup trapframe</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">trap_ctx</span> <span class="op">=</span> <span class="ident">task_inner</span>.<span class="ident">get_trap_cx</span>();
<span class="ident">task_inner</span>.<span class="ident">trap_ctx_backup</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">trap_ctx</span>);
<span class="comment">// modify trapframe</span>
<span class="ident">trap_ctx</span>.<span class="ident">sepc</span> <span class="op">=</span> <span class="ident">handler</span>;
<span class="comment">// modify trapframe</span>
<span class="ident">trap_ctx</span>.<span class="ident">sepc</span> <span class="op">=</span> <span class="ident">handler</span>;
<span class="comment">// put args (a0)</span>
<span class="ident">trap_ctx</span>.<span class="ident">x</span>[<span class="number">10</span>] <span class="op">=</span> <span class="ident">sig</span>;
<span class="comment">// put args (a0)</span>
<span class="ident">trap_ctx</span>.<span class="ident">x</span>[<span class="number">10</span>] <span class="op">=</span> <span class="ident">sig</span>;
} <span class="kw">else</span> {
<span class="comment">// default action</span>
<span class="comment">//println!(&quot;[K] task/call_user_signal_handler: default action, kill current process&quot;);</span>
}
}
<span class="kw">fn</span> <span class="ident">check_pending_signals</span>() {
@ -363,23 +408,32 @@
<span class="kw">if</span> <span class="ident">task_inner</span>.<span class="ident">handling_sig</span> <span class="op">==</span> <span class="op">-</span><span class="number">1</span> {
<span class="ident">drop</span>(<span class="ident">task_inner</span>);
<span class="ident">drop</span>(<span class="ident">task</span>);
<span class="kw">if</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGKILL</span> <span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGSTOP</span> <span class="op">|</span><span class="op">|</span>
<span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGCONT</span> <span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGDEF</span> {
<span class="comment">// signal is a kernel signal</span>
<span class="ident">call_kernel_signal_handler</span>(<span class="ident">signal</span>);
<span class="kw">if</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGKILL</span>
<span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGSTOP</span>
<span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGCONT</span>
<span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGDEF</span>
{
<span class="comment">// signal is a kernel signal</span>
<span class="ident">call_kernel_signal_handler</span>(<span class="ident">signal</span>);
} <span class="kw">else</span> {
<span class="comment">// signal is a user signal</span>
<span class="ident">call_user_signal_handler</span>(<span class="ident">sig</span>, <span class="ident">signal</span>);
<span class="kw">return</span>;
}
} <span class="kw">else</span> {
<span class="kw">if</span> <span class="op">!</span><span class="ident">task_inner</span>.<span class="ident">signal_actions</span>.<span class="ident">table</span>[<span class="ident">task_inner</span>.<span class="ident">handling_sig</span> <span class="kw">as</span> <span class="ident">usize</span>].<span class="ident">mask</span>.<span class="ident">contains</span>(<span class="ident">signal</span>) {
<span class="kw">if</span> <span class="op">!</span><span class="ident">task_inner</span>.<span class="ident">signal_actions</span>.<span class="ident">table</span>[<span class="ident">task_inner</span>.<span class="ident">handling_sig</span> <span class="kw">as</span> <span class="ident">usize</span>]
.<span class="ident">mask</span>
.<span class="ident">contains</span>(<span class="ident">signal</span>)
{
<span class="ident">drop</span>(<span class="ident">task_inner</span>);
<span class="ident">drop</span>(<span class="ident">task</span>);
<span class="kw">if</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGKILL</span> <span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGSTOP</span> <span class="op">|</span><span class="op">|</span>
<span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGCONT</span> <span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGDEF</span> {
<span class="comment">// signal is a kernel signal</span>
<span class="ident">call_kernel_signal_handler</span>(<span class="ident">signal</span>);
<span class="kw">if</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGKILL</span>
<span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGSTOP</span>
<span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGCONT</span>
<span class="op">|</span><span class="op">|</span> <span class="ident">signal</span> <span class="op">==</span> <span class="ident">SignalFlags::SIGDEF</span>
{
<span class="comment">// signal is a kernel signal</span>
<span class="ident">call_kernel_signal_handler</span>(<span class="ident">signal</span>);
} <span class="kw">else</span> {
<span class="comment">// signal is a user signal</span>
<span class="ident">call_user_signal_handler</span>(<span class="ident">sig</span>, <span class="ident">signal</span>);

@ -63,6 +63,7 @@
<span id="58">58</span>
<span id="59">59</span>
<span id="60">60</span>
<span id="61">61</span>
</pre><pre class="rust"><code><span class="kw">use</span> <span class="ident">bitflags</span>::<span class="kw-2">*</span>;
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">MAX_SIG</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">31</span>;
@ -119,6 +120,7 @@
} <span class="kw">else</span> <span class="kw">if</span> <span class="self">self</span>.<span class="ident">contains</span>(<span class="ident"><span class="self">Self</span>::SIGSEGV</span>) {
<span class="prelude-val">Some</span>((<span class="op">-</span><span class="number">11</span>, <span class="string">&quot;Segmentation Fault, SIGSEGV=11&quot;</span>))
} <span class="kw">else</span> {
<span class="comment">//println!(&quot;[K] signalflags check_error {:?}&quot;, self);</span>
<span class="prelude-val">None</span>
}
}

@ -131,6 +131,7 @@
<span id="126">126</span>
<span id="127">127</span>
<span id="128">128</span>
<span id="129">129</span>
</pre><pre class="rust"><code><span class="kw">mod</span> <span class="ident">context</span>;
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::config</span>::{<span class="ident">TRAMPOLINE</span>, <span class="ident">TRAP_CONTEXT</span>};
@ -219,6 +220,7 @@
}
}
<span class="comment">// handle signals (handle the sent signal)</span>
<span class="comment">//println!(&quot;[K] trap_handler:: handle_signals&quot;);</span>
<span class="ident">handle_signals</span>();
<span class="comment">// check error signals (if error then exit)</span>

Loading…
Cancel
Save