SIGRETURN(2) |
Linux Programmer's Manual |
SIGRETURN(2) |
名前
sigreturn -シグナル・ハンドラから返り、スタックを掃除する
書式
int sigreturn(unsigned long
__unused
);
説明
Linux カーネルは、シグナル・ハンドラ用にスタック・フレームを作成する際、
sigreturn() をスタック・フレームに挿入し、シグナル・ハンドラが返るときに
sigreturn() が呼ばれるようにする。
sigreturn() は、シグナル・ハンドラを起動するために行ったことの全て—プロセスのシグナルマスクの変更、スタックの切り替え (
sigaltstack(2) 参照) —の取り消しを行う。プロセスのシグナルマスクの復元、スタックの切り替え、プロセスのコンテキスト (レジスタ、プロセッサ・フラグ) の復元を行い、プロセスがシグナルにより割り込まれた場所からそのまま実行を再開できるようにする。
返り値
sigreturn() が返ることはない。
ファイル
/usr/src/linux/arch/i386/kernel/signal.c
/usr/src/linux/arch/alpha/kernel/entry.S
準拠
sigreturn() は Linux 特有であり、移植を意図したプログラムでは使用してはいけない。
注意
sigreturn() コールは、シグナル・ハンドラを実装するためにカーネルにより使用される。これを直接呼び出しては
決して いけない。さらに
__unused 引き数がどのように使われるかはそのアーキテクチャに依存して変化する。
関連項目
kill(2),
sigaltstack(2),
signal(2),
signal(7)
この文書について
この man ページは Linux
man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。