(toppers-users 96) dataqueue にバグ ?

MURANAKA Masaki monaka @ asahi-net.email.ne.jp
2001年 3月 6日 (火) 00:08:27 JST


こんにちは。

キーボードドライバを作っている途中で、不審な挙動を示しました。
CRE_DTQ(PCAT_KEYSCANCODE_DTQ, { TA_TFIFO, 32, NULL });
として作成したデータキューを用い、
割り込みハンドラ中で、
  syslog(LOG_EMERG, "kbdlow:%x", key_code & 0xff);
  syscall(ipsnd_dtq(PCAT_KEYSCANCODE_DTQ, key_code & 0xff));
とし、他のタスク中で、
  syscall(rcv_dtq(PCAT_KEYSCANCODE_DTQ, (VP_INT*)&key_code));
  syslog(LOG_EMERG, "kbd101:%x", key_code & 0xff);
とすると、最初の数回は、同じ値を示すものの、繰り返すと、
rcv_dtqで得られるkey_codeの値が不定になります。

AC久後さんのi386パッチを使っています。
明日以降、Linuxエミュレーションでも再現するかどうか確認します。
取り急ぎ、ご報告まで。

--
from もなか