Manpages

名 前

sigwait − シ グ ナ ル を 待 つ

書 式

#include <signal.h>

int sigwait(const sigset_t *set, int *sig);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

sigwait(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE

説 明

sigwait() 関 数 は 、 シ グ ナ ル 集 合 set で 指 定 さ れ た シ グ ナ ル の 一 つ が 処 理 待 ち (pending) に な る ま で 、 呼 び 出 し た ス レ ッ ド の 実 行 を 中 断 す る 。 こ の 関 数 は そ の シ グ ナ ル を 受 け 取 り (つ ま り 、 処 理 待 ち の シ グ ナ ル の リ ス ト か ら そ の シ グ ナ ル を 削 除 し )、 そ の シ グ ナ ル 番 号 を sig に 格 納 し て 返 す 。

sigwait() の 動 作 は sigwaitinfo(2) と 同 じ だ が 、 以 下 の 点 が 異 な る 。

*

sigwait() は 、 シ グ ナ ル の 内 容 を 表 す siginfo_t 構 造 体 を 返 す の で は な く 、 単 に シ グ ナ ル 番 号 を 返 す 。

*

返 り 値 が sigwaitinfo(2) と は 異 な る 。

返 り 値

成 功 す る と 、 sigwait() は 0 を 返 す 。 エ ラ ー の 場 合 、 (「 エ ラ ー 」 の 節 の リ ス ト に あ る ) 正 の エ ラ ー 番 号 を 返 す 。

エ ラ ー

EINVAL

set に 無 効 な シ グ ナ ル 番 号 が 入 っ て い る 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )

sigwait() 関 数 は ス レ ッ ド セ ー フ で あ る 。

準 拠

POSIX.1−2001.

注 意

sigwait() は sigtimedwait(2) を 使 っ て 実 装 さ れ て い る 。

pthread_sigmask(3) を 参 照 。

関 連 項 目

sigaction(2), signalfd(2), sigpending(2), sigsuspend(2), sigwaitinfo(2), sigsetops(3), signal(7)

こ の 文 書 に つ い て

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