-
fsnd_dtq
ifsnd_dtq
-
ER fsnd_dtq ( ID dtqid, VP_INT data );
ER ifsnd_dtq ( ID dtqid, VP_INT data );
dtqidで指定されたデータ・キューの状況に応じて,以下の処理を行います。
- 受信待ちキューにタスクがキューイングされている場合
パラメータ
dataで指定されたデータを受信待ちキュー先頭のタスクに渡します。これにより,該当タスクは,受信待ちキューから外れ,WAITING状態(データ受信待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。
- 受信待ちキューおよび送信待ちキューにタスクがキューイングされていない場合
パラメータ
dataで指定されたデータをデータ・キューに格納します。
データ・キューに空きがない場合は,最古のデータを削除してからデータを格納します。
|
|
|
|
|
|
|
|
|
|
|
- CPUロック状態から本サービス・コールを発行した
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した
|
|
|
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
|
|
|
- データ・キュー領域のデータ数が0のデータ・キューに対して本サービス・コールを発行した
|
|
|
|