-
cre_mtx
acre_mtx
-
ER cre_mtx ( ID mtxid, T_CMTX *pk_cmtx );
ER_ID acre_mtx ( T_CMTX *pk_cmtx );
|
|
|
|
ID mtxid;
|
|
|
T_CMTX *pk_cmtx;
|
|
typedef struct t_cmtx {
ATR mtxatr; /*ミューテックス属性*/
PRI ceilpri; /*上限優先度*/
} T_CMTX;
|
本サービス・コールは,信頼されたドメインに所属するタスクからのみ呼び出せます。
cre_mtxは,指定された
mtxidのミューテックスを
pk_cmtxで指定された内容で生成します。acre_mtxは
pk_cmtxで指定された内容でミューテックスを生成し,生成したミューテックスIDを返します。
1 ) ミューテックス属性(
mtxatr)
mtxatrにはTA_CEILINGのみを指定できます。
備考 ミューテックスの待ちキューの順序はタスクの現在優先度順です。ただし,同じ現在優先度のタスクの中ではFIFO順です
2 ) 上限優先度(
ceilpri)
ミューテックスをロックしたタスクの現在優先度は,
ceilpriに高められます。
ceilpriに指定可能な範囲は,1~
TMAX_TPRIです。
|
|
|
|
|
acre_mtxの正常終了(生成されたミューテックスID)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
|
|
|
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
- 呼び出しタスクからの pk_cmtxが示す領域に対するオペランド・リード・アクセス許可がない。
|
|
|
- 呼出しタスクは,信頼されたドメインに所属していない。
|
|
|
|
|
|
|