diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 7 | ||||
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 3bc0b074f..950130f13 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2008-10-05 Christopher Faylor <me+cygwin@cgf.cx> + + * dcrt0.cc (dll_crt0_0): Don't initialize signals early when + dynamically loaded. + (dll_crt0_1): Wait until this phase to initialize signals when + dynamically loaded. + 2008-09-29 Christopher Faylor <me+cygwin@cgf.cx> * thread.cc (pthread_mutex::_fixup_after_fork): Reinstate DEBUGGING diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 565d9aa25..cd9863ecb 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -697,7 +697,8 @@ dll_crt0_0 () /* Initialize signal processing here, early, in the hopes that the creation of a thread early in the process will cause more predictability in memory layout for the main thread. */ - sigproc_init (); + if (!dynamically_loaded) + sigproc_init (); lock_process::init (); _impure_ptr = _GLOBAL_REENT; @@ -759,6 +760,8 @@ dll_crt0_0 () void dll_crt0_1 (void *) { + if (dynamically_loaded) + sigproc_init (); check_sanity_and_sync (user_data); /* Initialize malloc and then call user_shared_initialize since it relies |