* 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:
Christopher Faylor 2006-03-01 18:23:24 +00:00
parent 7bf59bfd6b
commit 3b1f276fca
2 changed files with 11 additions and 8 deletions

View File

@ -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

View File

@ -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;