thread_setsched カーネル・サービス
目的
カーネル・スレッド・スケジューリング・パラメーターを設定します。
構文
パラメーター
| 項目 | 説明 |
|---|---|
| tid | カーネル・スレッドを指定します。 |
| 優先 | 優先順位を指定します。 0 から PRI_LOW (低価格)の範囲でなければなりません。0 が最も優先される優先順位です。 |
| ポリシー | スケジューリング・ポリシーを指定します。 以下のいずれかの値でなければなりません。
|
説明
スレッド・セット サブルーチンは、カーネル・スレッドのスケジューリング・パラメーターを設定します。 これには、優先順位とスケジューリング・ポリシーの両方が含まれます。これらは、 優先順位 パラメーターと ポリシー パラメーターで指定されます。 呼び出し側とターゲット・スレッドは、同じプロセス内になければなりません。
スケジューリング・ポリシーを 予定されていないに設定すると、システムは優先順位を選択します。 優先順位 パラメーターは無視されます。 デフォルトのスケジューリング・ポリシーを使用してスレッドの優先順位に影響を与える唯一の方法は、プロセスの nice の値を変更することです。
スレッドのスケジューリング・ポリシーを SCHED_FIFO、 SCHED_FIFO2、 SCHED_FIFO3、または 「SCHED_RR」のいずれかに変更するには、呼び出しスレッドが root 権限を持つプロセスに属している必要があります。
実行環境
スレッド・セット カーネル・サービスは、 処理 環境からのみ呼び出すことができます。
戻り値
正常終了すると、0 が戻されます。 さもないと、-1が返され、エラーコードはエラーを取得カーネル サービス。
エラー・コード
| 項目 | 説明 |
|---|---|
| EINVAL | 優先順位 パラメーターまたは ポリシー パラメーターが無効です。 |
| EPERM | 呼び出し側カーネル・スレッドには、操作を実行するための十分な特権がありません。 |
| ESRCH | カーネル・スレッド ID が存在しません。 |