* 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

@@ -1,9 +1,10 @@
Bug fixes:
----------
- Revamp signals so that signals-to-threads more closely mimic linux
- Revamp signals so that signals-to-threads more closely mimic Linux
operation.
First step of fix for: http://cygwin.com/ml/cygwin/2012-05/msg00186.html
as well as observed Linux behavior.
- Revert to only creating a new session leader when we know that a
console process is started in the background.