This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problems with mboxt2 solved with mboxt


Hello list,


I was having problems with synchronization on our board. After
enabling kernel instrumentation, I noticed I would sometimes see a
MBOXT_GOT message and sometimes not. Looking through the code of
mboxt.inl, I couldn't find what happened. Only when I discovered
mboxt2.inl, I understood. In mboxt2.inl an MBOXT_GOT message is only
given when the thread does not need to wait. In case it has to wait,
the mboxt2::get() returns after it's waken up (without checking the
count value, as mboxt::get() does).

So, I applied this patch :
http://ecos.sourceware.org/ml/ecos-patches/2006-09/msg00014.html and
now everything works. The main difference I see between the 2 is the
fact mboxt2 only uses 1 queue instead of 2 and only updates count
value if the queues are not empty / full. I suspect there must be an
error somewhere with the updating of that count value, but I couldn't
find it yet.

Has someone on this list further investigated this problem or is
nobody using mboxt2 anymore ?


Pieter-Jan Busschaert
Software Engineer
http://www.barco.com/

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]