* cygthread.cc (cygthread::callfunc): Create ev as an auto-reset event so that
it will be reset by WaitFor*Object as appropriate. (cygthread::stub): Ditto. (cygthread::terminate_thread): Remove forced setting of thread termination.
This commit is contained in:
parent
7bf59bfd6b
commit
3b1f276fca
|
@ -1,3 +1,11 @@
|
|||
2006-03-01 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* cygthread.cc (cygthread::callfunc): Create ev as an auto-reset event
|
||||
so that it will be reset by WaitFor*Object as appropriate.
|
||||
(cygthread::stub): Ditto.
|
||||
(cygthread::terminate_thread): Remove forced setting of thread
|
||||
termination.
|
||||
|
||||
2006-03-01 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* include/sys/dirent.h (struct __DIR): Rename __d_unused to
|
||||
|
|
|
@ -36,7 +36,7 @@ cygthread::callfunc (bool issimplestub)
|
|||
else
|
||||
{
|
||||
if (issimplestub)
|
||||
ev = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL);
|
||||
ev = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
|
||||
pass_arg = alloca (arglen);
|
||||
memcpy (pass_arg, arg, arglen);
|
||||
SetEvent (ev);
|
||||
|
@ -78,7 +78,7 @@ cygthread::stub (VOID *arg)
|
|||
debug_printf ("thread '%s', id %p, stack_ptr %p", info->name (), info->id, info->stack_ptr);
|
||||
if (!info->ev)
|
||||
{
|
||||
info->ev = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL);
|
||||
info->ev = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
|
||||
info->thread_sync = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
|
||||
}
|
||||
}
|
||||
|
@ -319,12 +319,7 @@ cygthread::terminate_thread ()
|
|||
if (is_freerange)
|
||||
free (this);
|
||||
else
|
||||
{
|
||||
#ifdef DEBUGGING
|
||||
terminated = true;
|
||||
#endif
|
||||
release (true);
|
||||
}
|
||||
release (true);
|
||||
|
||||
goto out;
|
||||
|
||||
|
|
Loading…
Reference in New Issue