longjmpx カーネル・サービス

目的

最後に保存されたコンテキストで実行を再開させることにより、 例外処理 を許可します。

構文

#include <sys/types.h>
#include <sys/errno.h>
int longjmpx ( ret_val)
int ret_val;

パラメーター

項目 説明
戻り値 再開されたコンテキストの SetJMPX カーネル・サービスからの戻り時に提供される戻り値を指定します。 この値は通常、発生した例外のタイプを示します。

説明

LongJMPX カーネル・サービスにより、通常の実行フローが変更され、最後に保存されたコンテキストで実行が再開されます。 カーネル・モード・ロックは、必要に応じて再獲得されます。 割り込み優先順位は、保管されたコンテキストの優先順位にリセットされます。

LongJMPX サービスは、内部で ClrJMPX サービスを呼び出して、再開するコンテキストのリストから ジャンプ・バッファー パラメーターで指定されたジャンプ・バッファーを削除します。 LongJMPX サービスは、復元されたコンテキストに戻るときには常にゼロ以外の値を返します。 したがって、 戻り値 パラメーターの値が 0 の場合、 LongJMPX サービスは、復元されたコンテキストに EINTR (E) 値を返します。

再開する保存済みコンテキストがない場合、システムは異常終了します。

実行環境

LongJMPX カーネル・サービスは、 処理 環境または 割り込み 環境のいずれかから呼び出すことができます。

戻り値

LongJMPX サービスの呼び出しが成功しても、呼び出し元には戻りません。 代わりに、 戻り値 パラメーターの戻り値を使用して、前の SetJMPX 呼び出しからの戻り時に実行が再開されます。