* fhandler.cc (fcntl): Print flags in hex.
* dcrt0.cc (dll_crt0_0): Semi-revert 2006-03-14 change which moved pinfo_init and uinfo_init here. (dll_crt0_1): Ditto. (__dll_crt0): Ditto. Don't call update_envptrs here. (dll_crt0_1): Ditto. Move wait_for_sigthread call here from dll_crt0_0. * environ.cc (environ_init): Call it here instead. * sigproc.cc (my_readsig): New static variable. (wait_for_sigthread): Set up read pipe here since we are assured that we have the proper privileges when this is called. (talktome): Eliminate second argument since it is available as a global now. (wait_sig): Reflect use of my_readsig.
This commit is contained in:
@@ -754,12 +754,6 @@ dll_crt0_0 ()
|
||||
user_data->resourcelocks->Init ();
|
||||
user_data->threadinterface->Init ();
|
||||
|
||||
if (!in_forkee)
|
||||
{
|
||||
pinfo_init (envp, envc);
|
||||
uinfo_init (); /* initialize user info */
|
||||
}
|
||||
|
||||
_cygtls::init ();
|
||||
|
||||
/* Initialize events */
|
||||
@@ -838,6 +832,7 @@ dll_crt0_1 (char *)
|
||||
fork_init ();
|
||||
}
|
||||
#endif
|
||||
pinfo_init (envp, envc);
|
||||
|
||||
/* Can be set only after environment has been initialized. */
|
||||
if (wincap.has_security ())
|
||||
@@ -849,6 +844,14 @@ dll_crt0_1 (char *)
|
||||
/* Allocate cygheap->fdtab */
|
||||
dtable_init ();
|
||||
|
||||
uinfo_init (); /* initialize user info */
|
||||
|
||||
wait_for_sigthread ();
|
||||
extern DWORD threadfunc_ix;
|
||||
if (!threadfunc_ix)
|
||||
system_printf ("internal error: couldn't determine location of thread function on stack. Expect signal problems.");
|
||||
|
||||
|
||||
/* Connect to tty. */
|
||||
tty_init ();
|
||||
|
||||
@@ -960,13 +963,7 @@ initialize_main_tls (char *padding)
|
||||
extern "C" void __stdcall
|
||||
_dll_crt0 ()
|
||||
{
|
||||
extern DWORD threadfunc_ix;
|
||||
wait_for_sigthread ();
|
||||
if (!threadfunc_ix)
|
||||
system_printf ("internal error: couldn't determine location of thread function on stack. Expect signal problems.");
|
||||
|
||||
main_environ = user_data->envptr;
|
||||
update_envptrs ();
|
||||
|
||||
char padding[CYGTLS_PADSIZE];
|
||||
|
||||
|
Reference in New Issue
Block a user