diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index f8099d8a3..01616f071 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +Mon Apr 23 9:27:00 2001 Robert Collins + + * thread.cc (MTinterface::Init): Always initialise per process variables. + Sun Apr 22 19:18:18 2001 Christopher Faylor * features.h: Reinstate as wrapper for sys/features.h. diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index c30f9b2de..0a438ce80 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -294,16 +294,16 @@ MTinterface::Init (int forked) concurrency = 0; threadcount = 1; /* 1 current thread when Init occurs.*/ + mainthread.win32_obj_id = myself->hProcess; + mainthread.setThreadIdtoCurrent (); + /* store the main thread's self pointer */ + TlsSetValue (thread_self_dwTlsIndex, &mainthread); + if (forked) return; /* possible the atfork lists should be inited here as well */ - mainthread.win32_obj_id = myself->hProcess; - mainthread.setThreadIdtoCurrent (); - /* store the main thread's self pointer */ - TlsSetValue (thread_self_dwTlsIndex, &mainthread); - for (int i =0;i<256;i++)pshared_mutexs[i]=NULL; #if 0