Bug 60184 - fgetc() / fread() on different devices
Summary: fgetc() / fread() on different devices
Alias: None
Product: eCos
Classification: Retired
Component: C library (Show other bugs)
(Show other bugs)
Version: CVS
Hardware: sh3 Linux
Target Milestone: ---
Assignee: Jonathan Larmour
QA Contact: eCos bugs internal list
Depends On:
TreeView+ depends on / blocked
Reported: 2002-02-21 15:59 UTC by Peter Graf
Modified: 2007-04-18 16:40 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-06-20 16:13:21 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Peter Graf 2002-02-21 15:59:38 UTC
A thread blocked by fgetc() waiting for input from one device causes lockup of
another thread using fread() access on a *different* device. When lowlevel IO is
used on one of the devices, instead of the C library calls, the problem disappears.

CVS release

Always reproducible, apparently regardless of thread priority

To Reproduce:
1. Have a thread that calls fgetc() and blocks waiting for input from serial line.
2. Have another thread that calls fread() trying to read from RAM filesystem.

Actual Results:
The thread using fread() locks up.

Expected Results:
The thread using fread() successfully reads data from the RAM filesystem.

Additional Information:
Might be related to fflush.cxx
The change of 2001-12-05 <jlarmour@redhat.com> in
src/common/fflush.cxx (cyg_libc_stdio_flush_all_but)
was applied without success.

Comment 1 Alex Schuilenburg 2003-06-20 16:13:21 UTC
This bug has moved to http://bugs.ecos.sourceware.org/show_bug.cgi?id=60184

Note You need to log in before you can comment on or make changes to this bug.