This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Re: ramfs problems


Robin Farine wrote:

>> What remains is the other problem, that a thread blocked by fgetc() on
>> serial line causes lockup of fread() access on ramfs by another thread.
>>
>> [...]
>
>Yes, Jifl fixed it. Check that you have the latest version of
>"packages/language/c/libc/stdio/[version]/src/common/fflush.cxx". If the
>fix isn't in the public CVS repository then tell me and I'll send you a
>diff privately.

Thanks. You probably mean this one, which I already had applied:

>>2001-12-05  Jonathan Larmour  <jlarmour@redhat.com>
>>
>>	* src/common/fflush.cxx (cyg_libc_stdio_flush_all_but): Fix starvation
>>	problem when waiting for threads to unlock of lower priority.
>>	Fix for bug #57014.

It doesn't seem to fix my problem. I also tried to run the "hanging"
fread() thread in a higher priority than fgetc() - but no change. The only
thing that helped was to circumvent the C Library calls and going down to
lowlevel IO.

It still seems that two threads reading input from completely different
devices have some kind of lockup situation in the C Library. 

Maybe it is a known restriction? But I haven't found a comment in the docs.

Peter



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


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