This is the mail archive of the cygwin-patches@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] |
This is patch 2 of 3 for MTinterface. It will convert the TLS handling for reents and thread self pointer to use the fork save pthread keys. This is important for forks from threads other than the main thread. 2002-09-24 Thomas Pfaff <tpfaff@gmx.net> * init.cc (dll_entry): Change reents initialization. * thread.cc (MT_INTERFACE): Move to "thread.h". (_reent_clib): Use new reents handling. (_reent_winsup): Ditto. (MTinterface::Init): Remove member variables initialization. They are now initialized via constructor. Initialize TLS only when process is not forked. (MTinterface::doInit): Implement. Initialize TLS for reents and thread self pointer. (MTinterface::fixup_after_fork); Reset threadcount to 1. Initialize thread self pointer. (pthread::self): Rename temp to thread. Initialize thread self pointer if uninitialized. (pthread::setTlsSelfPointer): Use new thread self handling. (pthread::thread_init_wrapper): Use new reents handling. * thread.h (MTinterface::reent_index): Remove. (MTinterface::thread_self_dwTlsIndex): Ditto. (MTinterface::indexallocated): Ditto. (MTinterface::reent_key): New member. (MTinterface::thread_self_key): Ditto. (MTinterface::MTinterface): Initialize all members. (MT_INTERFACE): Move from "thread.cc".
Attachment:
mtinterface2.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |