diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 5c87b47dd..359cf71e1 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2002-04-09 Corinna Vinschen + + * fork.cc (fork_child): Call fixup_mmaps_after_fork() somewhat earlier. + 2002-04-09 Corinna Vinschen * fhandler.cc (fhandler_base::open): Set read-only bit in diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc index 03d17ee65..66f2d220f 100644 --- a/winsup/cygwin/fork.cc +++ b/winsup/cygwin/fork.cc @@ -284,6 +284,9 @@ fork_child (HANDLE& hParent, dll *&first_dll, bool& load_dlls) MALLOC_CHECK; + if (fixup_mmaps_after_fork (hParent)) + api_fatal ("recreate_mmaps_after_fork_failed"); + /* If we haven't dynamically loaded any dlls, just signal the parent. Otherwise, load all the dlls, tell the parent that we're done, and wait for the parent to fill in the. @@ -296,9 +299,6 @@ fork_child (HANDLE& hParent, dll *&first_dll, bool& load_dlls) sync_with_parent ("loaded dlls", TRUE); } - if (fixup_mmaps_after_fork (hParent)) - api_fatal ("recreate_mmaps_after_fork_failed"); - ForceCloseHandle (hParent); (void) ForceCloseHandle (child_proc_info->subproc_ready); (void) ForceCloseHandle (child_proc_info->forker_finished);