(toppers-users 1226) slp_tsk の E_CTX エラー

kishida0 @ osk.3web.ne.jp kishida0 @ osk.3web.ne.jp
2003年 9月 22日 (月) 05:28:03 JST


きしだです

slp_tskのソースコードを見ていて気が付いたのですが、μITRON4.0
仕様書にはエラーコードとしてE_PAR、E_RLWAI、E_TIMOUTしか無い
のですが、ソースはE_CTXが返る条件があります。

これは仕様書よりソースの方が正しい様に思います。
間違っていますでしょうか?
# 仕様書の改訂?それとも既指摘事項?

------------
以下のマクロがslp_tskサービスコール内にあります。
ディスパッチ保留状態で待ちに入る事は出来ないので、必要な処理だと
思います。
/*
 *  ディスパッチ保留状態でないかのチェック(E_CTX)
 */
#define CHECK_DISPATCH() {					\
	if (sense_context() || t_sense_lock() || !(enadsp)) {	\
		ercd = E_CTX;					\
		goto exit;					\
	}							\
}
以上、宜しくお願いいたします。