Skip to content

Commit e74caa7

Browse files
Preview PR 1578: 2dc1f3fe76ce0f
1 parent 479591f commit e74caa7

6 files changed

Lines changed: 194 additions & 244 deletions

File tree

gen/pull/1578/PREVIEW.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# PR [\#1578](https://github.com/cpprefjp/site/pull/1578) プレビュー
2-
- ⌚ 更新時刻: 2026-01-18 23:44:04 JST
2+
- ⌚ 更新時刻: 2026-01-19 22:29:27 JST
33
- 🔍 [プレビュー (HTML)](https://cpprefjp.github.io/site/gen/pull/1578)
44
- 📈 [プレビュー生成記録](https://github.com/cpprefjp/site/actions?query=event%3Apull_request_target+branch%3Afeat%2Fcsignal)
5-
- **⫯** ソースの変更: [`cf6767c..00cf017`](https://github.com/cpprefjp/site/compare/cf6767c3100bdba1aa2af40b0cb12b8b555c42d3..00cf01789432438964ae1206317d232aa83c836e)
5+
- **⫯** ソースの変更: [`cf6767c..2dc1f3f`](https://github.com/cpprefjp/site/compare/cf6767c3100bdba1aa2af40b0cb12b8b555c42d3..2dc1f3fd33d21f638053a82a7bbc9a006c3b85c9)
66

77
## 変更記事一覧 (5件)
88

gen/pull/1578/reference/csignal/raise.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
<meta property="og:url" content="https://cpprefjp.github.io/reference/csignal/raise.html" />
2929
<meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
3030
<meta property="og:type" content="article" />
31-
<meta property="og:description" content="プログラムにシグナルを送信する" />
31+
<meta property="og:description" content="現在のプログラムにシグナルを送信する" />
3232
<meta name="twitter:card" content="summary" />
3333
<meta name="twitter:title" content="raise - cpprefjp C++日本語リファレンス" />
3434
<meta name="twitter:url" content="https://cpprefjp.github.io/reference/csignal/raise.html" />
35-
<meta name="twitter:description" content="プログラムにシグナルを送信する" />
35+
<meta name="twitter:description" content="現在のプログラムにシグナルを送信する" />
3636

3737

3838
<link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2026-01-18T14:39:37">
192-
2026年01月18日 14時39分37秒
191+
<span itemprop="datePublished" content="2026-01-19T13:24:22">
192+
2026年01月19日 13時24分22秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -219,7 +219,7 @@
219219
</code></pre></div>
220220
</p>
221221
<h2>概要</h2>
222-
<p>プログラムにシグナルを送信する</p>
222+
<p>現在のプログラムにシグナルを送信する</p>
223223
<h2>引数</h2>
224224
<ul>
225225
<li><code>sig</code>: 送信するシグナル番号</li>

gen/pull/1578/reference/csignal/sig_atomic_t.html

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;csignal&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;type-alias&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;7259bc26d7114eb894f5058eed0fac7e6335d5e3&#34;, &#34;source&#34;: &#34;#include &lt;csignal&gt;\n#include &lt;iostream&gt;\n\nvolatile std::sig_atomic_t flag = 0;\n\nvoid signal_handler(int signum)\n{\n flag = 1;\n}\n\nint main ()\n{\n std::signal(SIGINT, signal_handler);\n while(!flag){\n //\u51e6\u7406\n }\n if (flag){\n std::cout &lt;&lt; \&#34;catch SIGINT\&#34; &lt;&lt; std::endl;\n }\n return 0;\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;csignal&#34;, &#34;sig_atomic_t&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;csignal&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;type-alias&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;fed18e4189724e278b553ca3f75fb0beecaf0890&#34;, &#34;source&#34;: &#34;#include &lt;csignal&gt;\n#include &lt;iostream&gt;\n\nvolatile std::sig_atomic_t flag = 0;\n\nvoid signal_handler(int signum)\n{\n flag = 1;\n}\n\nint main ()\n{\n std::signal(SIGINT, signal_handler);\n while (!flag) {\n //\u51e6\u7406\n }\n if (flag) {\n std::cout &lt;&lt; \&#34;caught SIGINT\&#34; &lt;&lt; std::endl;\n }\n return 0;\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;csignal&#34;, &#34;sig_atomic_t&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2026-01-18T12:06:56">
192-
2026年01月18日 12時06分56秒
191+
<span itemprop="datePublished" content="2026-01-19T13:24:22">
192+
2026年01月19日 13時24分22秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -214,13 +214,10 @@
214214

215215
<div class="identifier-type">type-alias</div><div class="header">&lt;csignal&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="token">sig_atomic_t</span></h1>
216216
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">namespace</span> <span class="n">std</span> <span class="p">{</span>
217-
<span class="k">using</span> <span class="kt">sig_atomic_t</span> <span class="o">=</span> <span class="n">integer</span><span class="o">-</span><span class="n">type</span><span class="p">;</span>
217+
<span class="k">using</span> <span class="kt">sig_atomic_t</span> <span class="o">=</span> <span class="n"><i>integer-type</i></span><span class="p">;</span>
218218
<span class="p">}</span>
219219
</code></pre></div>
220220
</p>
221-
<ul>
222-
<li>integer-type[italic]</li>
223-
</ul>
224221
<h2>概要</h2>
225222
<p><code>sig_atomic_t</code>は、非同期シグナルハンドラと通常の実行コンテキストの間で、単純な読み書きを分断されずに行えることが保証された整数型である。</p>
226223
<p>この型に対して保証されるのは単純な代入および読み出しのみであり、
@@ -230,7 +227,7 @@ <h2>概要</h2>
230227
<h2>備考</h2>
231228
<p>最大値は<code>SIG_ATOMIC_MAX</code>、最小値は<code>SIG_ATOMIC_MIN</code>に定義されている。</p>
232229
<h2></h2>
233-
<p><div class="yata" id="7259bc26d7114eb894f5058eed0fac7e6335d5e3"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf">&lt;csignal&gt;</span><span class="cp"></span>
230+
<p><div class="yata" id="fed18e4189724e278b553ca3f75fb0beecaf0890"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf">&lt;csignal&gt;</span><span class="cp"></span>
234231
<span class="cp">#include</span> <span class="cpf"><a href="../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
235232

236233
<span class="k">volatile</span> <span class="n">std</span><span class="o">::</span><span class="kt">sig_atomic_t</span> <span class="n">flag</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
@@ -243,18 +240,18 @@ <h2>例</h2>
243240
<span class="kt">int</span> <span class="nf">main</span> <span class="p">()</span>
244241
<span class="p">{</span>
245242
<span class="n">std</span><span class="o">::</span><span class="n">signal</span><span class="p">(</span><span class="n">SIGINT</span><span class="p">,</span> <span class="n">signal_handler</span><span class="p">);</span>
246-
<span class="k">while</span><span class="p">(</span><span class="o">!</span><span class="n">flag</span><span class="p">){</span>
243+
<span class="k">while</span> <span class="p">(</span><span class="o">!</span><span class="n">flag</span><span class="p">)</span> <span class="p">{</span>
247244
<span class="c1">//処理</span>
248-
<span class="p">}</span>
249-
<span class="k">if</span> <span class="p">(</span><span class="n">flag</span><span class="p">){</span>
250-
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="s">"catch SIGINT"</span> <span class="o">&lt;&lt;</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span>
251-
<span class="p">}</span>
252-
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
245+
<span class="p">}</span>
246+
<span class="k">if</span> <span class="p">(</span><span class="n">flag</span><span class="p">)</span> <span class="p">{</span>
247+
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="s">"caught SIGINT"</span> <span class="o">&lt;&lt;</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span>
248+
<span class="p">}</span>
249+
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
253250
<span class="p">}</span>
254251
</code></pre></div>
255252
</div></p>
256253
<h3>出力例</h3>
257-
<p><pre><code>catch SIGINT
254+
<p><pre><code>caught SIGINT
258255
</code></pre>
259256
<code>Ctrl + c</code>などで割り込みが発生した場合。 </p>
260257
<h2>関連項目</h2>

gen/pull/1578/reference/csignal/signal.html

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;csignal&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;016b4ff983a4c06cd1093c0cd2a4aafcf1666d91&#34;, &#34;source&#34;: &#34;#include &lt;csignal&gt;\n#include &lt;iostream&gt;\n\nvolatile std::sig_atomic_t flag = 0;\n\nvoid signal_handler(int sig)\n{\n flag = 1;\n // std::cout &lt;&lt; \&#34;signal: \&#34; &lt;&lt; sig &lt;&lt; std::endl; \u672a\u5b9a\u7fa9\u52d5\u4f5c\n}\n\nint main()\n{\n std::signal(SIGINT, signal_handler);\n while(!flag){\n //\u51e6\u7406\n }\n if(flag)\n {\n std::cout &lt;&lt; \&#34;catch SIGINT\&#34; &lt;&lt; std::endl;\n }\n return 0;\n}\n\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;csignal&#34;, &#34;signal&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;csignal&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;3fe86ef5957f809cf0b9064ade4f24bfc0d42773&#34;, &#34;source&#34;: &#34;#include &lt;csignal&gt;\n#include &lt;iostream&gt;\n\nvolatile std::sig_atomic_t flag = 0;\n\nvoid signal_handler(int sig)\n{\n flag = 1;\n // std::cout &lt;&lt; \&#34;signal: \&#34; &lt;&lt; sig &lt;&lt; std::endl; \u672a\u5b9a\u7fa9\u52d5\u4f5c\n}\n\nint main()\n{\n std::signal(SIGINT, signal_handler);\n while (!flag) {\n //\u51e6\u7406\n }\n if (flag) {\n std::cout &lt;&lt; \&#34;caught SIGINT\&#34; &lt;&lt; std::endl;\n }\n return 0;\n}\n\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;csignal&#34;, &#34;signal&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2026-01-18T14:39:37">
192-
2026年01月18日 14時39分37秒
191+
<span itemprop="datePublished" content="2026-01-19T13:24:22">
192+
2026年01月19日 13時24分22秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -214,7 +214,8 @@
214214

215215
<div class="identifier-type">function</div><div class="header">&lt;csignal&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="token">signal</span></h1>
216216
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">namespace</span> <span class="n">std</span><span class="p">{</span>
217-
<span class="n">signal</span><span class="o">-</span><span class="n">handler</span><span class="o">*</span> <span class="n">signal</span><span class="p">(</span><span class="kt">int</span> <span class="n">sig</span><span class="p">,</span> <span class="n">signal</span><span class="o">-</span><span class="n">handler</span> <span class="n">func</span><span class="p">);</span>
217+
<span class="k">extern</span> <span class="s">"C"</span> <span class="k">using</span> <span class="n"><i>signal-handler</i></span> <span class="o">=</span> <span class="kt">void</span><span class="p">(</span><span class="kt">int</span><span class="p">);</span> <span class="c1">// exposition only</span>
218+
<span class="n"><i>signal-handler</i></span><span class="o">*</span> <span class="nf">signal</span><span class="p">(</span><span class="kt">int</span> <span class="n">sig</span><span class="p">,</span> <span class="n"><i>signal-handler</i></span><span class="o">*</span> <span class="n">func</span><span class="p">);</span>
218219
<span class="p">}</span>
219220
</code></pre></div>
220221
</p>
@@ -236,18 +237,23 @@ <h2>引数</h2>
236237
<h3>シグナルハンドラ関数の制約</h3>
237238
<p>シグナルハンドラ関数は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>を持たず、<code>int</code>型の引数を持つ。
238239
この引数にはシグナル番号が格納される。</p>
239-
<p>また、以下の処理以外の動作をシグナルハンドラ内で行うとき、その<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../implementation-compliance.html#dfn-undefined-behavior">動作は未定義</a></p>
240+
<p>シグナルハンドラ内で以下以外の処理を行うことは<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../implementation-compliance.html#dfn-undefined-behavior">未定義動作</a>である</p>
240241
<ul>
241-
<li><code>volatile std::sig_atomic_t</code>への単純な読み書き</li>
242-
<li><code>_Exit</code>関数と<code>abort</code>関数</li>
242+
<li><code>volatile std::sig_atomic_t</code>オブジェクトへの代入</li>
243+
<li><code>abort</code>関数</li>
244+
<li><code>_Exit</code>関数</li>
245+
<li><code>quick_exit</code>関数</li>
246+
<li><code>atomic</code>引数がロックフリーである場合の<code>&lt;stdatomic.h&gt;</code>内の関数</li>
247+
<li>任意の<code>atomic</code>引数を持つ<code>atomic_is_lock_free</code>関数</li>
248+
<li><code>signal</code>関数(ただし、ハンドラを起こしたシグナル番号に対する呼び出しに限る)</li>
243249
</ul>
244250
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>
245251
<p>成功した場合、指定されたシグナルに対する直前のハンドラを返す。
246252
それ以外の場合は<code>SIG_ERR</code>を返す</p>
247253
<h2>備考</h2>
248254
<p>マルチスレッド内でのこの関数の<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../implementation-compliance.html#dfn-undefined-behavior">動作は未定義</a></p>
249255
<h2></h2>
250-
<p><div class="yata" id="016b4ff983a4c06cd1093c0cd2a4aafcf1666d91"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf">&lt;csignal&gt;</span><span class="cp"></span>
256+
<p><div class="yata" id="3fe86ef5957f809cf0b9064ade4f24bfc0d42773"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf">&lt;csignal&gt;</span><span class="cp"></span>
251257
<span class="cp">#include</span> <span class="cpf"><a href="../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
252258

253259
<span class="k">volatile</span> <span class="n">std</span><span class="o">::</span><span class="kt">sig_atomic_t</span> <span class="n">flag</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
@@ -261,19 +267,18 @@ <h2>例</h2>
261267
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
262268
<span class="p">{</span>
263269
<span class="n">std</span><span class="o">::</span><span class="n">signal</span><span class="p">(</span><span class="n">SIGINT</span><span class="p">,</span> <span class="n">signal_handler</span><span class="p">);</span>
264-
<span class="k">while</span><span class="p">(</span><span class="o">!</span><span class="n">flag</span><span class="p">){</span>
270+
<span class="k">while</span> <span class="p">(</span><span class="o">!</span><span class="n">flag</span><span class="p">)</span> <span class="p">{</span>
265271
<span class="c1">//処理</span>
266272
<span class="p">}</span>
267-
<span class="k">if</span><span class="p">(</span><span class="n">flag</span><span class="p">)</span>
268-
<span class="p">{</span>
269-
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="s">"catch SIGINT"</span> <span class="o">&lt;&lt;</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span>
273+
<span class="k">if</span> <span class="p">(</span><span class="n">flag</span><span class="p">)</span> <span class="p">{</span>
274+
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="s">"caught SIGINT"</span> <span class="o">&lt;&lt;</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span>
270275
<span class="p">}</span>
271276
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
272277
<span class="p">}</span>
273278
</code></pre></div>
274279
</div></p>
275280
<h3>出力例</h3>
276-
<p><pre><code>catch SIGINT
281+
<p><pre><code>caught SIGINT
277282
</code></pre></p></div>
278283

279284
</div>

0 commit comments

Comments
 (0)