Man page - bsd_signal(3)

Packages contains this manual

Available languages:

en fr ja ru ro de

Manual

BSD_SIGNAL

名 前
書 式
説 明
返 り 値
エ ラ ー
属 性
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

bsd_signal - BSD 方 式 の シ グ ナ ル 処 理

書 式

#include <signal.h>

typedef void (*sighandler_t)(int);

sighandler_t bsd_signal(int signum , sighandler_t handler );

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

bsd_signal ():

glibc 2.26 以 降 :
_XOPEN_SOURCE >= 500
&& ! (_POSIX_C_SOURCE >= 200809L)
Glibc 2.25 and earlier:
_XOPEN_SOURCE

説 明

bsd_signal () 関 数 は signal (2) と 同 じ 引 数 を と り 、 同 じ 処 理 を 実 行 す る 。

両 者 の 違 い は 、 bsd_signal () で は 信 頼 性 の あ る シ グ ナ ル 処 理 方 式 の 提 供 が 保 証 さ れ て い る こ と で あ る 。 信 頼 性 の あ る シ グ ナ ル 処 理 方 式 は 以 下 の 特 徴 を 持 つ 。 a) ハ ン ド ラ ー が 起 動 さ れ た 場 合 に 、 シ グ ナ ル の 処 理 方 法 (disposition) が デ フ ォ ル ト に リ セ ッ ト さ れ な い 、 b) シ グ ナ ル ハ ン ド ラ ー の 実 行 中 は 、 そ れ 以 降 に 発 生 し た 同 じ シ グ ナ ル の 配 送 が ブ ロ ッ ク さ れ な い 、 c) ハ ン ド ラ ー が 停 止 中 の (blocking し て い る ) シ ス テ ム コ ー ル を 中 断 し た 場 合 、 そ の シ ス テ ム コ ー ル が 自 動 的 に 再 開 さ れ る 。 移 植 性 が 必 要 な ア プ リ ケ ー シ ョ ン で は 、 signal (2) で こ れ ら が 保 証 さ れ る こ と を 前 提 に す べ き で は な い 。

返 り 値

bsd_signal () 関 数 は シ グ ナ ル ハ ン ド ラ ー の 直 前 の 値 を 返 す 。 エ ラ ー の 場 合 、 SIG_ERR を 返 す 。

エ ラ ー

signal (2) と 同 じ 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-31121-1.png

準 拠

4.2BSD, POSIX.1-2001. POSIX.1-2008 で は bsd_signal () の 仕 様 が 削 除 さ れ て い る 。 代 わ り に 、 sigaction (2) の 使 用 が 推 奨 さ れ て い る 。

注 意

bsd_signal () の 使 用 は 避 け る べ き で あ る 。 代 わ り に sigaction (2) を 使 う こ と 。

最 近 の Linux シ ス テ ム で は 、 bsd_signal () と signal (2) は 等 価 で あ る 。 し か し 、 以 前 の シ ス テ ム で は 、 signal (2) は 信 頼 性 に 欠 け る シ グ ナ ル 処 理 方 式 を 提 供 し て い た 。 詳 細 は signal (2) を 参 照 。

sighandler_t を 使 っ て い る の は GNU に よ る 拡 張 で あ る 。 こ の 型 は 機 能 検 査 マ ク ロ _GNU_SOURCE を 定 義 し た 場 合 に の み 定 義 さ れ る 。

関 連 項 目

sigaction (2), signal (2), sysv_signal (3), signal (7)

こ の 文 書 に つ い て

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