aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-12-16 20:40:03 +0000
committerChristopher Faylor <me@cgf.cx>2005-12-16 20:40:03 +0000
commit6ba157bb2e6cde295bd74c40110aea5b5d096c85 (patch)
treef1066ad53892b6dd04d2a204d8a6c65c4d10b251
parenta4cd7f20f7d10748fc19ec3e211b9f657cc90ef4 (diff)
downloadnewlib-6ba157bb2e6cde295bd74c40110aea5b5d096c85.zip
newlib-6ba157bb2e6cde295bd74c40110aea5b5d096c85.tar.gz
newlib-6ba157bb2e6cde295bd74c40110aea5b5d096c85.tar.bz2
* init.cc (dll_entry): Call prime_threads after dll_crt0_0 to avoid conflicts
between heap allocation and thread stack allocation.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/init.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 85fe362..3ae7043 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2005-12-16 Christopher Faylor <cgf@timesys.com>
+ * init.cc (dll_entry): Call prime_threads after dll_crt0_0 to avoid
+ conflicts between heap allocation and thread stack allocation.
+
+2005-12-16 Christopher Faylor <cgf@timesys.com>
+
* hookapi.cc (putmem): Remove query of previous memory protection since
we get that for free the first time we call VirtualProtect.
diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc
index 655d891..59e59cc 100644
--- a/winsup/cygwin/init.cc
+++ b/winsup/cygwin/init.cc
@@ -160,8 +160,8 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
&& is_wow64_proc)
respawn_wow64_process ();
- prime_threads ();
dll_crt0_0 ();
+ prime_threads (); // this should be the last thing to happen
break;
case DLL_PROCESS_DETACH:
break;