RFC: TLS problem
Robert Collins
rbcollins@cygwin.com
Thu Aug 1 08:13:00 GMT 2002
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.
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 240 bytes
Desc: This is a digitally signed message part
URL: <http://cygwin.com/pipermail/cygwin-developers/attachments/20020801/c3233bb4/attachment.sig>
More information about the Cygwin-developers
mailing list