(toppers-users 1542) Re: タスクの二重起動防止

SHUKUGUCHI Masahiro ms89019 @ mms.co.jp
2004年 7月 16日 (金) 11:30:40 JST


宿口と申します。

# 少々理解不足のところがあるので申し訳ないのですが。

Ready中のタスクへの wup_tsk() (起床信号)はキューイング
(保留)されます。起床信号がキューイングされていると、次回
タスク就寝させるとタスクは即時起床するのを抑制したいのです
ね。

タスク就寝前に can_wup() を発行してキューイングされた起床
信号をキャンセルするとができるかと思います。

具体的な話は、きしだ氏のInterface誌の連載に記載されていた
ように思います。(が記憶違いかな?)

ということで、きしださん 後よろしく。:)

そうそう、JSP でキューイングできる数は1つでしたね。

では。

谷川さん:
> 例えば,外部のリレーを 10 秒間だけ ON にするタスクAが
> 有るとします。このタスクを,色々な所から起床するわけで
> すが,既にタスクAが動作中は,タスクAを起床しないよう
> にしなければいけません。
> 
> とりあえず,共有メモリでフラグを立てておいて制御すれば
> よいわけですが,何かもっとスマートな方法は無いかと考え
> ています。
> 
> 自タスクが起床中は自タスクへの起床要求を無視する,と言