* dtable.cc (dtable::release): Drop fixup_before handling.
(dtable::fixup_before_fork): Remove. (dtable::fixup_before_exec): Remove. * dtable.h (class dtable): Remove cnt_need_fixup_before member. (dtable::dtable): Accommodate above change. (dtable::dec_need_fixup_before): Remove. (dtable::inc_need_fixup_before): Remove. (dtable::need_fixup_before): Remove. (dtable::fixup_before_exec): Remove declaration. (dtable::fixup_before_fork): Ditto. * fhandler.h (fhandler_base::fixup_before_fork_exec): Remove. (fhandler_base::need_fixup_before): Remove. * fork.cc (frok::parent): Drop fixup_before handling. * spawn.cc (spawn_guts): Ditto.
This commit is contained in:
@@ -502,8 +502,7 @@ spawn_guts (const char *prog_arg, const char *const *argv,
|
||||
and before copying the datastructures to the child. So we have to start
|
||||
the child in suspend state, unfortunately, to avoid a race condition. */
|
||||
if (!newargv.win16_exe
|
||||
&& (!ch.iscygwin () || mode != _P_OVERLAY
|
||||
|| cygheap->fdtab.need_fixup_before ()))
|
||||
&& (!ch.iscygwin () || mode != _P_OVERLAY))
|
||||
c_flags |= CREATE_SUSPENDED;
|
||||
|
||||
/* When ruid != euid we create the new process under the current original
|
||||
@@ -628,11 +627,6 @@ loop:
|
||||
if (!(c_flags & CREATE_SUSPENDED))
|
||||
strace.write_childpid (ch, pi.dwProcessId);
|
||||
|
||||
/* Fixup the parent data structures if needed and resume the child's
|
||||
main thread. */
|
||||
if (cygheap->fdtab.need_fixup_before ())
|
||||
cygheap->fdtab.fixup_before_exec (pi.dwProcessId);
|
||||
|
||||
if (mode != _P_OVERLAY)
|
||||
cygpid = cygwin_pid (pi.dwProcessId);
|
||||
else
|
||||
|
Reference in New Issue
Block a user