Mail Archives: cygwin-developers/2002/08/01/11:13:24
--=-dqNuIGtWrPimJQuCnzW9
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
On Fri, 2002-08-02 at 00:48, Thomas Pfaff wrote:
> While tracking down the problems with a threaded perl i recognized a
> problem with TLS that is probably the reason for the forked child crash:
Good catch.=20
TLS and pthread_keys are different. At worst all we need to do for
pthread_key support is recreate the TLS for each pthread_key, and copy
the value for *the forking thread*. I.E. we don't need to handle all
cases of TLS behaviour, and we don't need to look behind the scenes at
the MS thread specific data. An atfork() handler registered by
pthread_key_create will do this nicely, and be almost trivial to code.
It is worthwhile checking the IEEE spec on this one before coding
anything, because I *thought* I had coded to that already.
As far as supporting a win32 TLS using application that wants to fork,
well it's an interesting idea, but IMO inpractical. Adding fork()
support to WIN32 native calls is a whole project in and of itself.
Cheers,
Rob
--=-dqNuIGtWrPimJQuCnzW9
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iEYEABECAAYFAj1JUA0ACgkQI5+kQ8LJcoI2fgCfQZNw53wWgvS2sodglVW0G6P+
df8AnRevrRYEZ5DTohSKvBFzE4yMJL5t
=gLhc
-----END PGP SIGNATURE-----
--=-dqNuIGtWrPimJQuCnzW9--
- Raw text -