uexclear カーネル・サービス

目的

uexblockサービスによってブロックされたカーネル・スレッドを再び実行可能にする。

構文

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/except.h>
void uexclear ( tid)
tid_t *tid;

パラメーター

項目 説明
tid 実行状態にする、以前にブロックされたカーネル・スレッドのスレッド ID を指定します。

説明

uexclearカーネルサービスは、uexblockカーネルサービスによって実行不可能な状態にされたカーネルスレッドを、tidパラメータで指定された実行可能な状態に戻します。 SIGSTOP停止信号を送られたスレッドは、SIGCONT継続信号を受け取ると、再び実行可能になる。

uexclearカーネル・サービスは、共有された連続的に使用可能なリソースへのユーザーモード・スレッド・アクセスを遅延的に制御するために使用することができる。 逐次使用リソースは、一度に 1 つのスレッドでしか使用できませんが、複数のスレッドで使用することができます。 スレッドがリソースにアクセスしようとしたが、アクセス権限がない場合は、ユーザー・モード例外が発生するようにセットアップできます。

この設定は、uexaddカーネルサービスによって登録された例外ハンドラに制御を与える。 uexblockカーネルサービスを使用すると、この例外ハンドラは、後でリソースが利用可能になるまでスレッドをブロックすることができる。 このとき、uexclearサービスを使えば、ブロックされたスレッドを実行可能にすることができる。

実行環境

uexclearカーネル・サービスは、プロセス環境からも割り込み環境からも呼び出すことができる。

戻り値

uexclearサービスには戻り値はありません。