* cygthread.cc (cygthread::stub): Don't zero __name here. That introduces a
race.
This commit is contained in:
parent
5c2b46f4a8
commit
a7a5d0ba37
@ -1,3 +1,8 @@
|
||||
2002-10-13 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* cygthread.cc (cygthread::stub): Don't zero __name here. That
|
||||
introduces a race.
|
||||
|
||||
2002-10-13 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* include/cygwin/version.h: Bump DLL minor number.
|
||||
|
@ -43,6 +43,10 @@ cygthread::stub (VOID *arg)
|
||||
info->thread_sync = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
|
||||
}
|
||||
while (1)
|
||||
{
|
||||
if (!info->__name)
|
||||
system_printf ("errnoneous thread activation");
|
||||
else
|
||||
{
|
||||
if (!info->func || initialized < 0)
|
||||
ExitThread (0);
|
||||
@ -55,10 +59,11 @@ cygthread::stub (VOID *arg)
|
||||
info->func = NULL; // catch erroneous activation
|
||||
#endif
|
||||
SetEvent (info->ev);
|
||||
info->__name = NULL;
|
||||
}
|
||||
switch (WaitForSingleObject (info->thread_sync, INFINITE))
|
||||
{
|
||||
case WAIT_OBJECT_0:
|
||||
// ResetEvent (info->thread_sync);
|
||||
continue;
|
||||
default:
|
||||
api_fatal ("WFSO failed, %E");
|
||||
|
Loading…
x
Reference in New Issue
Block a user