* DevNotes: Add entry cgf-000014.

* cygheap.cc (tls_sentry): Move here, rename from 'sentry' in cygtls.cc
(tls_sentry::lock): Ditto.
(nthreads): Move from cygtls.cc
(THREADLIST_CHUNK): Ditto.
(cygheap_init): Call init_tls_list().
(init_cygheap::init_tls_list): Define new function.
(init_cygheap::add_tls): Ditto.
(init_cygheap::remove_tls): Ditto.
(init_cygheap::find_tls): Ditto.  Semi-resurrect from _cygtls::find_tls.
* cygheap.h (init_cygheap::init_tls_list): Declare new function.
(init_cygheap::add_tls): Ditto.
(init_cygheap::remove_tls): Ditto.
(init_cygheap::find_tls): Ditto.
* cygtls.cc (sentry): Delete.
(sentry::lock): Ditto.
(nthreads): Ditto.
(THREADLIST_CHUNK): Ditto.
(_cygtls::init): Delete definition.
(_cygtls::init_thread): Call cygheap->add_tls() to add thread to global list.
(_cygtls::remove): cygheap->remove_tls() to remove thread from global list.
* cygtls.h (_cygtls::init): Delete declaration.
* dcrt0.cc (dll_crt0_0): Delete call to _cygtls::init().
* exceptions.cc (sigpacket::process): When no thread is specified, try to find
one via cygheap->find_tls.
This commit is contained in:
Christopher Faylor
2012-08-09 19:58:53 +00:00
parent cc02df1286
commit 52d2371da5
9 changed files with 153 additions and 67 deletions

View File

@ -1170,8 +1170,8 @@ sigpacket::process ()
sigproc_printf ("using tls %p", tls);
else
{
tls = _main_tls;
sigproc_printf ("using main tls %p", _main_tls);
tls = cygheap->find_tls (si.si_signo);
sigproc_printf ("using tls %p", tls);
}
if (si.si_signo == SIGKILL)