This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: ramfs problems
- From: Peter Graf <p dot graf at itknet dot de>
- To: ecos-discuss at sources dot redhat dot com
- Date: Fri, 15 Feb 2002 08:50:11 +0100
- Subject: Re: [ECOS] 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