Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Aug 2006 20:08:20 +0000
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        Daniel Eischen <deischen@freebsd.org>
Cc:        FreeBSD-gnats-submit@freebsd.org, freebsd-threads@freebsd.org
Subject:   Re: threads/101323: fork(2) in threaded programs broken. 
Message-ID:  <50596.1154635700@critter.freebsd.dk>
In-Reply-To: Your message of "Thu, 03 Aug 2006 16:04:49 -0400." <Pine.GSO.4.64.0608031558540.13543@sea.ntplx.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.GSO.4.64.0608031558540.13543@sea.ntplx.net>, Daniel Eischen wr
ites:


>There's no easy way to hold all library locks.  They are
>littered in libc and libpthread and the application doesn't
>have access to them.  You would have to teach libc to
>record these locks and export a function to lib<thread>
>to lock and unlock these them.

I would be perfectly happy if libpthread would just at the very
least release the locks it specifically grabs for the fork.

There's a big difference between giving it a sensible shot and
downright sabotaging it the way we do currently.

Anyway, apart from the view from the theoretical high ground and
the fact that POSIX doesn't actually say anything helpful here, are
there any objections to the fix I proposed ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



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