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

kishida mkishida @ fecsi.furuno.co.jp
2004年 7月 16日 (金) 15:29:11 JST


きしだです

トラブル対応中なのに呼ばれてしまった。(号泣)

ええっと、いちばん簡単なのはタスクAを最優先タスクに
することです。
タスクAが10秒間ぐるぐるまわる様な処理中は他のタスクは
リクエストを上げられません。
 # 優先順位低いんで。(オイ!)

即起動が不味いんなら、これもタスクAの優先順位を高くして
処理後、時間待ちしてメッセージやデータキューを見に行くのも
手かもしれません。

これならリクエストはキューイングされますし、リレーONの後の
待ち時間も自由に取れます。
待ち時間中にリクエストが来ても待ったままですし、キューングも
出来ます。

めっちゃ手抜きの回答ですが、ご勘弁をぉぉぉ。

では


SHUKUGUCHI Masahiro wrote:
> 宿口と申します。
> 
> # 少々理解不足のところがあるので申し訳ないのですが。
> 
> Ready中のタスクへの wup_tsk() (起床信号)はキューイング
> (保留)されます。起床信号がキューイングされていると、次回
> タスク就寝させるとタスクは即時起床するのを抑制したいのです
> ね。
> 
> タスク就寝前に can_wup() を発行してキューイングされた起床

** Cut quoted 27 lines by the mail filter. **