OSDN Git Service

* dcrt0.cc (dll_crt0_0): Don't initialize signals early when dynamically
authorcgf <cgf>
Sun, 5 Oct 2008 16:48:30 +0000 (16:48 +0000)
committercgf <cgf>
Sun, 5 Oct 2008 16:48:30 +0000 (16:48 +0000)
loaded.
(dll_crt0_1): Wait until this phase to initialize signals when dynamically
loaded.

winsup/cygwin/ChangeLog
winsup/cygwin/dcrt0.cc

index 3bc0b07..950130f 100644 (file)
@@ -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
index 565d9aa..cd9863e 100644 (file)
@@ -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