This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: TLS problem


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

Attachment: signature.asc
Description: This is a digitally signed message part


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]