SIGRETURN(2) — NEWS-OS Programmer’s Manual
名称
sigreturn − シグナルからリターンする
形式
#include <signal.h>
sigreturn(scp);
struct sigcontext ∗scp;
解説
sigreturn を 使用することによって、 ユーザは自動的にマスクを解除し、 スタックを切り替え、 シグナルコンテクストから制御を 戻すことができます。 プロセスのシグナルマスクおよびスタックステータスは、 そのコンテクストから復元されます。 このシステムコールは、 リターンしません。 ユーザのスタックポインタ、 フレームポインタ、 およびプロセッサのステータスロングワードは、 コンテクストから復元されます。 実行は、指定されたpcから再開されます。 このシステムコールは、 トランポリンコードによって使用され、 また、 シグナルから以前に実行されていたプログラムへリターンするときに longjmp(3) によって使用されます。
注意事項
このシステムコールは、 NEWS-OS 2.X(4.2BSD)では使用できません。 ゆえに、 古いバージョンとの互換性が必要とされる場合には、 このコールを 使用すべきではありません。
リターン値
成功した場合には、 このコールはリターンしません。 失敗した場合には、 値 −1 が返され、 errno がエラーを 示すようにセットされます。
エラー
次の項目の1つが発生した場合には、 sigreturn は失敗し、 プロセスのコンテクストは変更されません。
[EFAULT] scp が、 プロセスのアドレススペースの有効な部分ではないメモリを 指し示している。
[EINVAL] プロセスステータスロングワードが無効であり、 プロセスの特権レベルを 不正に上げる可能性がある。
関連事項
NEWS-OSRelease 4.1C