tail head cat sleep
QR code linking to this page

manページ  — SIGRETURN

名称

sigreturn – シグナルから戻る

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <signal.h>

int
sigreturn(ucontext_t *scp);

解説

sigreturn() システムコールにより、マスクの解除、スタックの切り替え、 シグナルコンテキストからの復帰を、不可分に実行可能です。 プロセスのシグナルマスクとスタックステータスは、 scp で指されるコンテキスト構造体から復元されます。 システムコールは戻りません。 ユーザのスタックポインタ、フレームポインタ、引数ポインタ、 プロセッサステータスロングワードは、コンテキストから復元されます。 実行は、指定された pc で再開されます。 このシステムコールは、前に実行していたプログラムに シグナルから戻る場合に、トランポリンコードと longjmp(3) で使用されます。

このシステムコールは BSD 4.2 では使用できないので、下位互換性が必要な場合は使用しないでください。

戻り値

処理が正常に完了すると、このシステムコールは戻りません。 そうでない場合は -1 が返され、エラーを示すために errno が設定されます

エラー

以下のうち 1 つが発生すると、 sigreturn() システムコールは処理を失敗し、プロセスコンテキストは変更されずに残ります。
[EFAULT]
  scp 引数が、プロセスアドレス空間の有効な部分ではない メモリを指しています。
[EINVAL]
  プロセスステータスロングワードが正しくないか、 プロセスの権限レベルを不適切に上げています。

関連項目

sigvec(2), setjmp(3), ucontext(3) [英語]

歴史

sigreturn() システムコールは、 BSD 4.3 で登場しました。

SIGRETURN (2) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Unix is a junk OS designed by a committee of PhDs.
— Dave Cutler