(toppers-users 3332) JSP1.4.3 mailboxについて

Nozomu Kon kon-n @ vecc.co.jp
2010年 12月 21日 (火) 10:25:20 JST


ベクトル(株)今と申します。

現在、JSP1.4.3を評価中なのですが、
mailboxについて疑問がありましたので、
投稿させていただきます。

タスクAが送信側、タスクBが受信側とします。

タスクAは受信側の状態によらず、外部要求がある限り
snd_mbxを続けます。

タスクBは空き時間にrcv_mbxにて受信、メッセージ処理を行います。

メッセージが溜まる場合、snd_mbxでは
mbxcb->last->next = pk_msg; (mailbox.c line 163)
にてメッセージを繋げていますが、

rcv_mbxでは溜まりメッセージを
*ppk_msg = mbxcb->head; (mailbox.c line 199)
mbxcb->head = (*ppk_msg)->next;
にて取り出しています。

片や「last->next」で繋げ、片や「head->next」で取り出していますが、
どちらかに統一する必要はないのでしょうか。

どういった条件で発生するのか調査中なのですが、
タスクBがメッセージEND(NULL)を検出できなくなり、
タスクBの無限ループに陥っています。

思い違いでしたら、ご容赦ください。

-- 
 今  望武