[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#175511: errno is mishandled by libc in multithreaded programs



On Tue, Jan 07, 2003 at 06:42:19PM +0000, Nikita Schmidt wrote:
> On Tuesday,  7 Jan, Daniel Jacobowitz wrote:
> > Libcurl correctly uses __errno_location(); I assume the others do also. 
> > That makes the failure quite surprising.  Can you produce a test case
> > for this?
> 
> Here is a test case which also correctly uses __errno_location().  This
> program produces roughly the following output:
> T1: Expected error, got errno == 0.
> T2: OK
> T1: Expected error, got errno == 0.
> T1: Expected error, got errno == 0.
> T2: OK
> T1: Expected error, got errno == 0.
> T2: OK
> Here thread 1 finds errno == 0 after a failed call to close(555).
> This doesn't happen if the program is linked statically.
> 
> Nikita

Can you tell us more about your system?  This bug seems to affect some
people but not others; it does not show up on my machine at all.  I got
only "OK"'s.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



Reply to: