sigsuspend(2) FreeBSD 一般コマンドマニュアル

sigsuspend

前のページ 上に戻る 次のページ

sigsuspend




書式

     #include <signal.h>

     int
     sigsuspend(const sigset_t *sigmask);


解説

     sigsuspend() は、 sigmask が指す集合に、ブロックされているシグナルマスク
     を一時的に変更してから、シグナルの到着を待ちます。復帰時に、マスクされた
     シグナルの前の集合が復元されます。通常の場合、シグナルマスク集合は空で、
     呼び出しが続く間、すべてのシグナルがブロックされないことを表わします。

     通常の用法では、 sigprocmask(2) でシグナルをブロックして重要なセクション
     を始め、シグナルの発生で修正された変数を調べて実行すべき仕事がないことを
     判断し、 sigprocmask が返した以前のマスクで sigsuspend() を使用することで
     プロセスが停止して仕事を待ちます。


戻り値

     sigsuspend() 関数は、常に、割り込まれることで終了し、 errno を EINTR に設
     定し、-1 を返します。


関連項目

     sigaction(2), sigprocmask(2), sigsetops(3)


規格

     sigsupend() 関数呼び出しは、 ISO/IEC 9945-1:1990 (``POSIX.1'') に準拠して
     います。

FreeBSD 4.4                      May 16, 1995                      FreeBSD 4.4

ABELNET VPSサービス