-
ref_tsk
iref_tsk
-
ER ref_tsk ( ID tskid, T_RTSK *pk_rtsk );
ER iref_tsk ( ID tskid, T_RTSK *pk_rtsk );
|
|
|
|
ID tskid;
|
|
|
T_RTSK *pk_rtsk;
|
|
typedef struct t_rtsk {
STAT tskstat; /*現在状態*/
PRI tskpri; /*現在優先度*/
PRI tskbpri; /*ベース優先度*/
STAT tskwait; /*待ち要因*/
ID wobjid; /*待ちオブジェクトID*/
TMO lefttmo; /*タイムアウトするまでの時間*/
UINT actcnt; /*起動要求数*/
UINT wupcnt; /*起床要求数*/
UINT suscnt; /*サスペンド要求数*/
} T_RTSK;
|
tskidで指定されたタスクのタスク詳細情報(現在状態,現在優先度など)を
pk_rtskで指定された領域に格納します。
-
tskstat
タスクの現在状態が格納されます。
-
tskpri
タスクの現在優先度が格納されます。
tskpriは,
tskstatがTTS_DMT以外の場合のみ有効です。
-
tskbpri
タスクのベース優先度が格納されます。
tskbpriは,
tskstatがTTS_DMT以外の場合のみ有効です。
-
tskwait
タスクの待ち要因(WAITING状態の種類)が格納されます。
tskwaitは,
tskstatがTTS_WAIまたはTTS_WASの場合のみ有効です。
-
wobjid
待ち対象のオブジェクト(セマフォ,イベントフラグなど)のIDが格納されます。
wobjidは,
tskwaitがTTW_SEM,TTW_FLG,TTW_SDTQ,TTW_RDTQ,TTW_MBX,TTW_MTX,TTW_SMBF,TTW_RMBF,TTW_MPF,またはTTW_MPLの場合のみ有効です。
-
lefttmo タイムアウトまでの残り時間(単位:ミリ秒)が格納されます。永久待ちの場合は,
TMO_FEVRが格納されます。
lefttmoは,
tskstatがTTS_WAIまたはTTS_WASの場合で,かつ
tskwaitがTTW_DLY以外の場合のみ有効です。
備考 TTW_DLYの場合は,
lefttmoは不定となります。
-
actcnt
タスクの起動要求数が格納されます。
-
wupcnt
タスクの起床要求数が格納されます。
wupcntは,
tskstatがTTS_DMT以外の場合のみ有効です。
-
suscnt
タスクのサスペンド要求数が格納されます。
suscntは,
tskstatがTTS_DMT以外の場合のみ有効です。
|
|
|
|
|
|
|
|
|
|
|
- 非タスクから本サービス・コールを発行した際, tskidに TSK_SELFを指定した。
|
|
|
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
備考 タスクからiref_tskを発行した場合,および非タスクからref_tskを発行した場合,コンテキスト・エラーは検出されず,システムの正常な動作は保証されません。
|
|
|
- 呼び出しタスクからの pk_rtskが示す領域に対するオペランド・ライト・アクセス許可がない。
|
|
|
|