* cygheap.h (init_cygheap): Play more vfork shell games and move ctty_on_hold
and open_fhs_on_hold (back) here. * dcrt0.cc (_dll_crt0): Just set impure_ptr_ptr here and let later initialization deal with tls. * dtable.cc (dtable::vfork_child_fixup): Move ctty considerations here. (dtable:vfork_parent_restore): And here. * fork.cc (vfork): Reflect change to ctty handling. * perthread.h (vfork_save::fhctty): Eliminate. * cygwin.din: Make more exports NOSIGFE that will never be interrupted by a signal. * init.cc (dll_entry): Set stackptr to NULL to catch problems earlier.
This commit is contained in:
@@ -916,12 +916,11 @@ _dll_crt0 ()
|
||||
void
|
||||
dll_crt0 (per_process *uptr)
|
||||
{
|
||||
char padding[CYGTLS_PADSIZE];
|
||||
/* Set the local copy of the pointer into the user space. */
|
||||
if (uptr && uptr != user_data)
|
||||
{
|
||||
memcpy (user_data, uptr, per_process_overwrite);
|
||||
*(user_data->impure_ptr_ptr) = initialize_main_tls (padding);
|
||||
*(user_data->impure_ptr_ptr) = &reent_data;
|
||||
}
|
||||
_dll_crt0 ();
|
||||
}
|
||||
|
Reference in New Issue
Block a user