* 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:
@ -178,6 +178,7 @@ frok::child (void *)
|
||||
ld_preload ();
|
||||
fixup_hooks_after_fork ();
|
||||
_my_tls.fixup_after_fork ();
|
||||
wait_for_sigthread ();
|
||||
cygwin_finished_initializing = true;
|
||||
return 0;
|
||||
}
|
||||
@ -545,10 +546,13 @@ fork ()
|
||||
void *esp;
|
||||
__asm__ volatile ("movl %%esp,%0": "=r" (esp));
|
||||
|
||||
if (!ischild)
|
||||
res = grouped.parent (esp);
|
||||
else
|
||||
if (ischild)
|
||||
res = grouped.child (esp);
|
||||
else
|
||||
{
|
||||
res = grouped.parent (esp);
|
||||
sig_send (NULL, __SIGNOHOLD);
|
||||
}
|
||||
|
||||
MALLOC_CHECK;
|
||||
if (ischild || res > 0)
|
||||
@ -568,7 +572,6 @@ fork ()
|
||||
|
||||
set_errno (grouped.this_errno);
|
||||
}
|
||||
sig_send (NULL, __SIGNOHOLD);
|
||||
syscall_printf ("%d = fork()", res);
|
||||
return res;
|
||||
}
|
||||
|
Reference in New Issue
Block a user