diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2017-03-10 20:28:09 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2017-03-10 20:28:09 +0100 |
commit | 35d344babe154bde4e5dfcc01638251cc50e2e79 (patch) | |
tree | b3f713ccc346617f36a1053058b79e5ffc383047 | |
parent | 44b1746a41921533d27aca414a9188314cb725b6 (diff) | |
download | cygnal-35d344babe154bde4e5dfcc01638251cc50e2e79.tar.gz cygnal-35d344babe154bde4e5dfcc01638251cc50e2e79.tar.bz2 cygnal-35d344babe154bde4e5dfcc01638251cc50e2e79.zip |
_dll_crt0: Drop incorrect check for being started from parent main thread
This test was broken from the start. It leads to creating a completely
new stack for the main thread of the child process when started from
the main thread of the parent. However, the main thread of a process
can easily running on a completely different stack, if the parent's main
thread was created by calling fork() from a pthread. For an example,
see https://cygwin.com/ml/cygwin/2017-03/msg00113.html
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 8ddee0ca7..ea6adcbbd 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -1041,7 +1041,7 @@ _dll_crt0 () under our own control and avoids collision with the OS. */ if (!dynamically_loaded) { - if (!in_forkee || fork_info->from_main) + if (!in_forkee) { /* Must be static since it's referenced after the stack and frame pointer registers have been changed. */ |