Everything

sus_tsk

isus_tsk

概要
SUSPENDED状態への移行
C言語形式
 ER      sus_tsk ( ID tskid );
 ER      isus_tsk ( ID tskid );

パラメータ
I/O
パラメータ
説明
I
 ID      tskid;
タスクのID
TSK_SELF: 自タスク
数値: タスクのID

機能
tskidで指定されたタスクをRUNNING状態からSUSPENDED状態へ,READY状態からSUSPENDED状態へ,またはWAITING状態からWAITING-SUSPENDED状態へと遷移させます。
ただし,本サービス・コールを発行した際,対象タスクがSUSPENDED状態,またはWAITING-SUSPENDED状態へと遷移していた場合には,状態操作処理は行わず,サスペンド要求カウンタに0x1を加算します。
備考 RI850V4が管理するサスペンド要求カウンタは,7ビット幅で構成されています。このため,本サービス・コールでは,サスペンド要求数が127回を越えるような場合には,サスペンド要求のキューイング(サスペンド要求カウンタの加算処理)は行わず,戻り値としてE_QOVRを返します。
戻り値
マクロ
数値
意味
E_OK
0
正常終了
E_ID
-18
IDの指定が不正である
- tskid<0x0
- tskid>生成されているタスクの最大ID
- 非タスクから本サービス・コールを発行した際,tskidにTSK_SELFを指定した
E_CTX
-25
コンテキスト・エラー
- CPUロック状態から本サービス・コールを発行した
- ディスパッチ禁止状態から本サービス・コールを発行した際,tskidに自タスクを指定した
E_OBJ
-41
対象タスクがDORMANT状態である
E_NOEXS
-42
対象タスクが生成されていない
E_QOVR
-43
サスペンド要求数が127回を越えた