setjmpx カーネル・サービス
目的
現在の実行状態またはコンテキストを保存できます。
構文
#include <sys/types.h>
#include <sys/errno.h> int setjmpx ( jump_buffer)
label_t *jump_buffer;
label_t *jump_buffer;
パラメーター
| 項目 | 説明 |
|---|---|
| ジャンプ・バッファー | SetJMPX サービスの呼び出しで指定された、呼び出し元提供のジャンプ・バッファーのアドレスを指定します。 |
説明
SetJMPX カーネル・サービスは、現在の実行状態またはコンテキストを保存して、後続の LongJMPX 呼び出しによって SetJMPX サービスから即時に戻ることができるようにします。 SetJMPX サービスは、以下のような必要な状態情報とともにコンテキストを保存します。
- 現在の割り込み優先順位。
- プロセスが現在カーネル・モード・ロックを所有しているかどうか。
その他の状態変数には、不揮発性汎用レジスター、現行プログラムの目次とスタック・ポインター、および戻りアドレスが含まれます。
SetJMPX サービスの呼び出しはネストすることができます。 SetJMPX サービスを呼び出すたびに、この時点でコンテキストが 保存されたコンテキストのスタックの先頭にプッシュされます。
実行環境
戻り値
| 項目 | 説明 |
|---|---|
| ゼロ以外の値 | LongJMPX 呼び出しによって SetJMPX サービスが戻ったことを示します。 |
| 0 | その他の状況を示します。 |