diff options
author | Christopher Faylor <me@cgf.cx> | 2010-08-31 03:23:28 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2010-08-31 03:23:28 +0400 |
commit | 166f3822e8b6efa6be411c8167e2d0bb0e578435 (patch) | |
tree | d70c484e9fd237008bf2d04d4b9668bc9f1865d9 /winsup | |
parent | 45bc8c1f50242589effce6131bd6e0578af33283 (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).
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 12 |
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 (); |