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.
다운로드
소프트웨어 개발
계정
다운로드
소프트웨어 개발
Login
Forgot Account/Password
계정 만들기
언어
도움
언어
도움
×
Login
Login Name
Password
×
Forgot Account/Password
Translation Status of 한국말
Category:
Software
People
PersonalForge
Magazine
Wiki
검색
OSDN
>
브라 우즈 소프트웨어
>
System
>
Operating System Kernels
>
Hyper Operating System(ITRON仕様OS)
>
포럼
>
Developers
>
HOS-V4a snd_mbx() 優先順位指定のバグ
Hyper Operating System(ITRON仕様OS)
Fork
Description
Project Summary
Developer Dashboard
웹 페이지
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
다운로드
List of Releases
Stats
소스 코드
Code Repository list
Git
hos-v4a
CVS
View Repository
티켓
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
포럼
List of Forums
Developers (761)
도움 (688)
Open Discussion (342)
Mailing Lists
list of ML
hos-cvs
hos-git
News
포럼:
Developers
(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 から探しはじめているのが原因ですね。
メモリ効率の点からずらして格納しています。
動作確認できていないのですが、一応修正してコミットしておきました。
よろしくお願いします。
Reply to
#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() のソースコードを見て気が付きました。
Reply to
#44150
RE: HOS-V4a snd_mbx() 優先順位指定のバグ (2009-08-16 09:37 by
ryuz
#45422)
Create ticket
お世話になります。Ryuzです。
> 少々ずれますが、
> snd_dtq()あたりのソースを見ていましたら、データキューですが、バグっていますね。(まだ開発中だとは思われますが)
確認いたしました。確かにバグっていますね。
セマフォあたりのコードを雛形にして、サイズ0対応含めて保留した
まま忘れていました。
対応したいと思います。御指摘有難うございました。
Reply to
#45359