Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2010-08-31 03:23:28 +0400
committerChristopher Faylor <me@cgf.cx>2010-08-31 03:23:28 +0400
commit166f3822e8b6efa6be411c8167e2d0bb0e578435 (patch)
treed70c484e9fd237008bf2d04d4b9668bc9f1865d9
parent45bc8c1f50242589effce6131bd6e0578af33283 (diff)
* dcrt0.cc (dll_crt0_0): Move sigproc_init later, after cygheap initialization
since it relies on the cygheap existing (even if it shouldn't matter do to dll initialization serialization).
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/dcrt0.cc12
2 files changed, 12 insertions, 6 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 7bb939797..4dc50372a 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dcrt0.cc (dll_crt0_0): Move sigproc_init later, after cygheap
+ initialization since it relies on the cygheap existing (even if
+ it shouldn't matter do to dll initialization serialization).
+
2010-08-30 Corinna Vinschen <corinna@vinschen.de>
* posix.sgml (std-notes): Fix typos and incorrectnesses.
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 12e84f42e..4ab39afaa 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -702,12 +702,6 @@ dll_crt0_0 ()
SetErrorMode (SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
- /* 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. */
- if (!dynamically_loaded)
- sigproc_init ();
-
lock_process::init ();
_impure_ptr = _GLOBAL_REENT;
_impure_ptr->_stdin = &_impure_ptr->__sf[0];
@@ -746,6 +740,12 @@ 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. */
+ if (!dynamically_loaded)
+ sigproc_init ();
+
user_data->threadinterface->Init ();
_cygtls::init ();