Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all bug

名前

       sigpause - ブロックされたシグナルをアトミックに解放して割り込みを待つ

書式

       #include <signal.h>

       int sigpause(int sigmask);  /* BSD */

       int sigpause(int sig);      /* System V / UNIX 95 */

説明

       この関数を使わないこと。 代わりに sigsuspend(2)  を使うこと。

       関数  sigpause()  はシグナルを待つように設計されている。 この関数はプロセスのシグナルマスク (ブロックされ
       たシグナルのセット) を変更し、 シグナルが到着するのを待つ。  シグナルが到着すると、シグナルマスクは元に戻
       される。

返り値

       sigpause()  が返った場合、この関数はシグナルによって割り込まれている。 返り値は -1 で、 errnoEINTR に
       設定される。

準拠

       System V 版の sigpause()  は POSIX.1-2001 で標準化されている。

注意

   歴史
       この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナルマスクを sigmask に設定する。
       UNIX  95 では BSD 版と互換性のない System V 版のこの関数が標準化された。 UNIX 95 版は、指定されたシグナル
       sig をプロセスのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2  つの関数があるという不幸
       な事態は、 sigsuspend(2) 関数によって解消された。 この関数は (int の代わりに)  sigset_t * 引き数をとる。

   Linux での注意
       Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコールとなっている。

       libc4 と libc5 には BSD 版しかない。

       機能検査マクロ  _BSD_SOURCE  が定義され、  _POSIX_SOURCE,  _POSIX_C_SOURCE,  _XOPEN_SOURCE,  _GNU_SOURCE,
       _SVID_SOURCE のいずれも定義されていない場合、 glibc は BSD 版を使う。 それ以外の場合には、System V 版を使
       用する。

関連項目

       kill(2), sigaction(2), sigprocmask(2), sigsuspend(2), sigblock(3), sigvec(3), feature_test_macros(7)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

Linux                                              2010-09-12                                        SIGPAUSE(3)