SYSV_SIGNAL

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

sysv_signal - System V 方式のシグナル処理  

書式

#define _GNU_SOURCE /* feature_test_macros(7) 参照 */
#include <signal.h>

typedef void (*sighandler_t)(int);

sighandler_t sysv_signal(int signum, sighandler_t handler);  

説明

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

しかしながら、 sysv_signal() は System V の信頼性に欠けるシグナル処理方式を提供している。 信頼性に欠けるシグナル処理方式は以下の特徴を持つ。 a) ハンドラーが起動されると、シグナルの処理方法 (disposition) が デフォルトにリセットされる、 b) シグナルハンドラーの実行中は、それ以降に発生した同じシグナルの配送が ブロックされない、 c) ハンドラーが停止中の (blocking している) システムコールを中断した場合、 自動的に再開されないシステムコールがある。  

返り値

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

エラー

signal(2) と同じ。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
sysv_signal() Thread safety MT-Safe
 

準拠

この関数は非標準である。  

注意

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

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

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

関連項目

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

この文書について

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

関連キーワード

signal   シグナル   方式   ハンドラー   信頼性   sysv   System   sighandler   提供   define   feature   macros   特徴   起動   方法   disposition   リセット   配送   ブロック   停止中   blocking   中断   自動的   再開   用語

Linux マニュアル 一覧

関連するコマンド・関数

bsd_signal.3   signal.2   sighold.3   sigignore.3   sigrelse.3   sigset.3
 

Index

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

This document was created by man2html, using the manual pages.
Time: 04:39:36 GMT, October 11, 2026