SIGINTERRUPT

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

名前

siginterrupt - シグナルでシステムコールに割り込むことを許す  

書式

#include <signal.h>

int siginterrupt(int sig, int flag);

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

siginterrupt():

_XOPEN_SOURCE >= 500
    || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
 

説明

siginterrupt() 関数は、システムコールがシグナル sig によって割り込まれた後、再実行の際の振る舞いを変更する。 flag 引数が偽 (0) ならば、システムコールが指定した シグナル sig によって割り込まれた後に、そのシステムコールは 再実行される。これは Linux においてデフォルトの動作である。

flag 引数が真 (1) でデータの転送が全く行なわれていないならば、 シグナル sig でシステムコールは中断されて、-1 が返され、 errno に EINTR が設定される。

flag 引数が真 (1) でデータの転送が開始されていれば、 システムコールは中断され、それまでに実際に転送されたデータ の量が返される。  

返り値

siginterrupt() 関数は成功した場合 0 を返す。 シグナル番号 sig が不正な場合、 -1 を返し、 errno にエラーの原因を示す値を設定する。  

エラー

EINVAL
指定したシグナル番号が不正である。
 

属性

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

準拠

4.3BSD, POSIX.1-2001. POSIX.1-2008 は、 siginterrupt() を廃止予定としている。 代わりに、 sigaction(2) に SA_RESTART フラグを指定して使うことを推奨している。  

関連項目

signal(2)  

この文書について

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

関連キーワード

シグナル   転送   siginterrupt   再実行   中断   番号   不正   signal   検査   マクロ   要件   macros   Since   versions   開始   実際   成功   原因   用語   allbox   インターフェース   属性   Thread   safety   sigintr

Linux マニュアル 一覧

関連するコマンド・関数

sigwait.3   psiginfo.3   psignal.3   pause.2   sigpause.3   kill.1
 

Index

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

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