* 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:
@@ -310,13 +310,6 @@ frok::parent (volatile char * volatile stack_here)
|
||||
else
|
||||
c_flags |= DETACHED_PROCESS;
|
||||
|
||||
/* Some file types (currently only sockets) need extra effort in the
|
||||
parent after CreateProcess 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 (cygheap->fdtab.need_fixup_before ())
|
||||
c_flags |= CREATE_SUSPENDED;
|
||||
|
||||
/* Remember the address of the first loaded dll and decide
|
||||
if we need to load dlls. We do this here so that this
|
||||
information will be available in the parent and, when
|
||||
@@ -389,14 +382,6 @@ frok::parent (volatile char * volatile stack_here)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* Fixup the parent datastructure if needed and resume the child's
|
||||
main thread. */
|
||||
if (c_flags & CREATE_SUSPENDED)
|
||||
{
|
||||
cygheap->fdtab.fixup_before_fork (pi.dwProcessId);
|
||||
ResumeThread (pi.hThread);
|
||||
}
|
||||
|
||||
CloseHandle (pi.hThread);
|
||||
|
||||
/* Protect the handle but name it similarly to the way it will
|
||||
|
Reference in New Issue
Block a user