* DevNotes: Add entry cgf-000018.
* init.cc (dll_entry): Grab process lock before exiting to ensure that thread doesn't exit before parent if parent is exiting. * _cygtls.cc (_cygtls::call2): Revert previous 2012-12-21 change. * miscfuncs.cc (thread_wrapper): Ditto. * thread.cc (pthread::exit): Ditto. * sigproc.cc (exit_thread): Ditto. (wait_sig): Ditto. * sync.cc (muto::release): Ditto. * sync.h (muto::release): Ditto. * sigproc.h (__SIGTHREADEXIT): Delete enum. (exit_thread): Delete declaration.
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
2012-12-21 cgf-000018
|
||||
|
||||
Re: cgf-000017
|
||||
|
||||
It occurred to me that just getting the process lock during
|
||||
DLL_THREAD_DETACH in dll_entry() might be adequate to fix this
|
||||
problem. It's certainly much less intrusive.
|
||||
|
||||
There are potential deadlock problems with grabbing a lock in
|
||||
this code, though, so this check-in will be experimental.
|
||||
|
||||
2012-12-21 cgf-000017
|
||||
|
||||
The changes in this set are to work around the issue noted here:
|
||||
|
Reference in New Issue
Block a user