You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
下载
开发软件
账户
下载
开发软件
登录
我忘记用户名和密码了
创建帐户
语言
帮助
语言
帮助
×
登录
登录名
密码
×
我忘记用户名和密码了
简体中文翻译状态
类别:
软件
用户
PersonalForge
Magazine
Wiki
搜索
OSDN
>
浏览软件
>
System
>
Operating System Kernels
>
Hyper Operating System(ITRON仕様OS)
>
论坛
>
开发者论坛
>
HOS-V4a snd_mbx() 優先順位指定のバグ
Hyper Operating System(ITRON仕様OS)
Fork
描述
项目概述
开发人员仪表板
项目的网页
开发人员
Image Gallery
List of RSS Feeds
Activity
统计
历史
下载
List of Releases
统计
源代码
Code Repository list
Git
hos-v4a
CVS
查看仓库
任务单
Ticket List
里程碑列表
Type List
组件列表
List of frequently used tickets/RSS
Submit New Ticket
文档
沟通
论坛
List of Forums
开发者论坛 (761)
帮助论坛 (688)
公开讨论 (342)
Mailing Lists
list of ML
hos-cvs
hos-git
新闻
论坛:
开发者论坛
(Thread #22946)
Return to Thread list
RSS
HOS-V4a snd_mbx() 優先順位指定のバグ (2009-06-02 07:10 by
qwww
#44134)
Create ticket
こんにちは。いつも、HOS-V4a の開発ありがとうございます。
HOS-V4a で 後回し作業になっていそうな、MBX (メールボックス) ですが、
使ってみたら、動きました。
と、喜んでいたものの、1箇所 バグを見つけてしまいましたので、報告させていただきます。
MBX (メールボックス) で、優先順位 msgpri = 1 にして snd_mbx() で送信したメッセージは、rcv_mbx() で受信できません。
他の優先順位 (たとえば msgpri = 2) だと受信できます。
原因は、
ソースコードの kadp_msg.c と krmp_msg.c で整合性がとれていないだけのようです。
kadp_msg.c 30行目付近
> _kernel_add_msq(&(*pppk_msgque)[mpri - TMIN_MPRI], pk_msg);
ここで TMIN_MPRI を 引いてしまっているのが問題なのか?
krmp_msg.c 26行目付近
> for ( mpri = TMIN_MPRI; mpri < maxmpri; mpri++ )
> {
> if ( (*pppk_msgque)[mpri] != NULL )
> {
> return _kernel_rmv_msq(&(*pppk_msgque)[mpri]);
> }
> }
for 文で TMIN_MPRI から探しはじめているのがいけないのか
RE: HOS-V4a snd_mbx() 優先順位指定のバグ (2009-06-02 19:19 by
ryuz
#44150)
Create ticket
お世話になります。Ryuzです。
バグレポ有難うございます。
for 文で TMIN_MPRI から探しはじめているのが原因ですね。
メモリ効率の点からずらして格納しています。
動作確認できていないのですが、一応修正してコミットしておきました。
よろしくお願いします。
回复到
#44134
RE: HOS-V4a snd_mbx() 優先順位指定のバグ (2009-08-09 06:19 by
qwww
#45359)
Create ticket
お世話になります。
大変に、大変に返信が遅くなりすみません。
やっと時間がとれ、snd_mbx() を動かしてみました。問題なく動きました。大丈夫です。
有難うございます。
少々ずれますが、
snd_dtq()あたりのソースを見ていましたら、データキューですが、バグっていますね。(まだ開発中だとは思われますが)
snd_dtq() でデータ送信してバッファがフルになって タスクが 待ち行列 に入るときに、
snd_dtq() の内部で、
_KERNEL_TSK_SET_DATA(tcb, data);
を用いて、でデータを格納してしまいますが、rcv_dtq() が起き上がるタイミングによっては、
データキューの順番が狂ってしまうと思われます。
snd_mbx() の確認のため 比較に snd_dtq() のソースコードを見て気が付きました。
回复到
#44150
RE: HOS-V4a snd_mbx() 優先順位指定のバグ (2009-08-16 09:37 by
ryuz
#45422)
Create ticket
お世話になります。Ryuzです。
> 少々ずれますが、
> snd_dtq()あたりのソースを見ていましたら、データキューですが、バグっていますね。(まだ開発中だとは思われますが)
確認いたしました。確かにバグっていますね。
セマフォあたりのコードを雛形にして、サイズ0対応含めて保留した
まま忘れていました。
対応したいと思います。御指摘有難うございました。
回复到
#45359