* cygthread.cc (cygthread::stub2): Remove myself from the list of threads
monitored by signals since this thread will never call raise or sigwait. (cygthread::simplestub2): Ditto. Set ev here. (cygthread::cygthread): Don't set ev here for freerange thread.
This commit is contained in:
parent
78f3155ced
commit
aeab6ea658
|
@ -1,3 +1,11 @@
|
|||
2003-12-05 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* cygthread.cc (cygthread::stub2): Remove myself from the list of
|
||||
threads monitored by signals since this thread will never call raise or
|
||||
sigwait.
|
||||
(cygthread::simplestub2): Ditto. Set ev here.
|
||||
(cygthread::cygthread): Don't set ev here for freerange thread.
|
||||
|
||||
2003-12-04 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* path.cc (slash_unc_prefix_p): Allow '.' as a valid character after
|
||||
|
|
|
@ -40,11 +40,10 @@ void
|
|||
cygthread::stub2 (void *arg, void *)
|
||||
{
|
||||
exception_list except_entry;
|
||||
|
||||
/* Initialize this thread's ability to respond to things like
|
||||
SIGSEGV or SIGFPE. */
|
||||
init_exceptions (&except_entry);
|
||||
|
||||
_my_tls.remove (); // Remove me from signal chain -- not signalable.
|
||||
|
||||
cygthread *info = (cygthread *) arg;
|
||||
if (info->arg == cygself)
|
||||
|
@ -108,13 +107,14 @@ void
|
|||
cygthread::simplestub2 (void *arg, void *)
|
||||
{
|
||||
exception_list except_entry;
|
||||
|
||||
/* Initialize this thread's ability to respond to things like
|
||||
SIGSEGV or SIGFPE. */
|
||||
init_exceptions (&except_entry);
|
||||
_my_tls.remove (); // Remove me from signal chain -- not signalable.
|
||||
|
||||
cygthread *info = (cygthread *) arg;
|
||||
info->stack_ptr = &arg;
|
||||
info->ev = info->h;
|
||||
info->func (info->arg == cygself ? info : info->arg);
|
||||
ExitThread (0);
|
||||
}
|
||||
|
@ -197,8 +197,6 @@ cygthread::cygthread (LPTHREAD_START_ROUTINE start, LPVOID param,
|
|||
this, 0, &id);
|
||||
if (!h)
|
||||
api_fatal ("thread handle not set - %p<%p>, %E", h, id);
|
||||
if (is_freerange)
|
||||
ev = h;
|
||||
thread_printf ("created thread %p", h);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue