Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Mar 2001 18:17:22 -0800
From:      Ben Jackson <ben@ben.com>
To:        freebsd-ports@freebsd.org
Subject:   another scary bug in linuxthreads port
Message-ID:  <200103090217.f292HMj18543@saturn.home.ben.com>

next in thread | raw e-mail | index | archive | help
When my program died because it thought select() returned ECHILD (due to
racing with a wait4()) I discovered to my horror that the linuxthreads
port doesn't define an __error() that returns a pointer to the per-thread
errno.

If you rename __errno_location() to __error and ensure that the initial
thread starts out with a valid p_errnop (I did this by using its internal
p_errno in the static initializer rather than trying to ensure that some
global `errno' was used for the main thread) it works.  Whew.

I fear to know what the next thread-safe hook linuxthreads is not quite
managing to override is...

--Ben

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103090217.f292HMj18543>