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-10-02 23:08:21 +0400
committerChristopher Faylor <me@cgf.cx>2010-10-02 23:08:21 +0400
commitf0b04035b14216f492c906a69f16be6783a8e066 (patch)
tree6fe835fccb8d89abd47ebe2a9818e2c39b1dfca9 /winsup/cygwin/dcrt0.cc
parent1da77c2678b3f69f2bc212e79df6432a9fffb61c (diff)
* dcrt0.cc (dll_crt0_0): Move _main_tls initialization here.
(__dll_crt0): Only initialize _main_tls if it changes. * fhandler_console.cc (fhandler_console::write): Fix debugging output.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r--winsup/cygwin/dcrt0.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 12ab22464..13dc33d17 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -771,6 +771,8 @@ dll_crt0_0 ()
disable_dep ();
#endif
+ _main_tls = &_my_tls;
+
/* 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. */
@@ -970,9 +972,11 @@ _dll_crt0 ()
{
main_environ = user_data->envptr;
if (in_forkee)
- fork_info->alloc_stack ();
+ {
+ fork_info->alloc_stack ();
+ _main_tls = &_my_tls;
+ }
- _main_tls = &_my_tls;
_main_tls->call ((DWORD (*) (void *, void *)) dll_crt0_1, NULL);
}