w_clear カーネル・サービス
目的
カーネルに認識されているウォッチドッグ・タイマーのリストからウォッチドッグ・タイマーを削除します。
構文
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/watchdog.h> int w_clear ( w)
struct watchdog *w;
struct watchdog *w;
パラメーター
| 項目 | 説明 |
|---|---|
| w | ウォッチドッグ・タイマー構造を指定します。 |
説明
ウォッチドッグ・タイマー・サービス ( W_ クリア カーネル・サービスを含む) は、通常、入出力操作が妥当な時間内に完了することを検証するために使用されます。
W_ クリア カーネル・サービスがウォッチドッグ・タイマーを削除すると、 W-> カウント ウォッチドッグ・カウントは減分されなくなります。 さらに、 W-> 機能 ウォッチドッグ・タイマー関数は呼び出されなくなりました。
ユニプロセッサー環境では、呼び出しは常に成功します。 これは、ウォッチドッグ・タイマーが別のプロセッサーによって処理されている場合に呼び出しが失敗するマルチプロセッサー環境では当てはまりません。 したがって、関数には戻り値があり、成功した場合は0に設定され、-1さもないと。 機能するデバイス・ドライバーは、論理ユニプロセッサー環境で実行されるため、戻り値を検査する必要はありません。 マルチプロセッサー・セーフおよびマルチプロセッサー効率の高いデバイス・ドライバーは、ループ内の戻り値を検査する必要があります。 さらに、ドライバーがロックを使用する場合は、以下に示すように、このループ内でロックを解放して再獲得する必要があります。
while (w_clear(&watchdog))
release_then_reacquire_dd_lock;
/* null statement if locks not used */注: W_ クリア カーネル・サービスは、 w_setattr () カーネル・サービスを使用して以前に設定されたすべての属性をクリアします。
実行環境
W_ クリア カーネル・サービスは、 処理 環境からのみ呼び出すことができます。
戻り値
| 項目 | 説明 |
|---|---|
| 0 | ウォッチドッグ・タイマーが正常に削除されたことを示します。 |
| -1 | ウォッチドッグ・タイマーを削除できなかったことを示します。 |