|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > s > sigpause - ライブラリコールの説明 sigpause - ライブラリコールの説明 - Linux コマンド集 一覧表名前sigpause - ブロックされたシグナルをアトミックに解放して割り込みを待つ 書式
#include <signal.h> 説明この関数を使わないこと。 代わりに sigsuspend (2) を使うこと。 関数 sigpause ()はシグナルを待つように設計されている。 この関数はプロセスのシグナルマスク (ブロックされたシグナルのセット) を変更し、 シグナルが到着するのを待つ。 シグナルが到着すると、シグナルマスクは元に戻される。 返り値sigpause ()が返った場合、この関数はシグナルによって割り込まれている。 返り値は -1 で、 errno は EINTR に設定される。 歴史この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナルマスクを sigmask に設定する。 Unix95 では BSD 版と互換性のない System V 版のこの関数が標準化された。 Unix95 版は、指定されたシグナル sig をプロセスのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2 つの関数があるという不幸な事態は、 sigsuspend (2)関数によって解消された。 この関数は ( int の代わりに) "sigset_t *" 引き数をとる。 Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコールとなっている。 libc4 と libc5 には BSD 版しかない。 glibc では _XOPEN_SOURCE が定義されない限り、BSD 版を使う。 関連項目
kill
(2),
sigaction
(2),
sigprocmask
(2),
sigsuspend
(2),
sigblock
(3),
sigvec
(3)
|
|