Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all 
      
    
名前
       sigsuspend - シグナルを待つ
書式
       #include <signal.h>
       int sigsuspend(const sigset_t *mask);
   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):
       sigsuspend(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
説明
       sigsuspend()  は、呼び出し元プロセスのシグナルマスクを mask で指定されたマスクに一時的に置き換え、 シグナ
       ルハンドラーの起動もしくはプロセスの終了がアクションとして 設定されたシグナルが配送されるまで、そのプロセ
       スを停止する。
       シグナルがプロセスを終了させるものの場合、  sigsuspend()  は返らない。シグナルが捕捉された場合、 シグナル
       ハンドラーの処理が終わった後に sigsuspend()  は返り、シグナルマスクは sigsuspend() が呼び出される前の状態
       に復元される。
       SIGKILL と SIGSTOP を禁止 (block) することはできない; これらのシグナルを mask  に指定しても、プロセスのシ
       グナルマスクは影響を受けない。
返り値
       sigsuspend() は常に -1 を返し、 errno にエラーの原因を示す値 (通常は EINTR) を設定する。
エラー
       EFAULT mask が指しているメモリーが、プロセスのアドレス空間の有効な部分ではない。
       EINTR  システムコールはシグナルにより割り込まれた。
準拠
       POSIX.1-2001.
注意
       sigsuspend()   は、通常、クリティカルコードセクション (critical code section) の 実行中にシグナルが配送さ
       れるのを防止するために、     sigprocmask(2)      と組み合わせて使用される。      まず最初に、呼び出し元は
       sigprocmask(2)   を使ってシグナルを禁止する。 クリティカルコードが完了すると、呼び出し元は sigprocmask(2)
       が (oldset 引き数で) 返すシグナルマスクを指定して sigsuspend() を呼び出すことで、クリティカルコード実行中
       に発生した シグナルを待つことができる。
       シグナル集合の操作に関する詳細は sigsetops(3)  を参照のこと。
関連項目
       kill(2), pause(2), sigaction(2), signal(2),  sigprocmask(2),  sigwaitinfo(2),  sigsetops(3),  sigwait(3),
       signal(7)
この文書について
       この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部である。 プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
Linux                                              2013-04-19                                      SIGSUSPEND(2)