Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2004-02-18 00:17:25 +0300
committerCorinna Vinschen <corinna@vinschen.de>2004-02-18 00:17:25 +0300
commita682de34be3a3e6f1270a4b0e1e5288e09140abf (patch)
treea6122e3d225f8cf09e5465abed4d5e8957eaf762
parent720c33ae4c9fb2fe10268e123d5b34a5042170e1 (diff)
* fork.cc (fork_child): Move fixup_shms_after_fork so that
signal_arrived is initialized when calling it.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fork.cc8
2 files changed, 9 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 90d2cb5f9..b048677cf 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * fork.cc (fork_child): Move fixup_shms_after_fork so that
+ signal_arrived is initialized when calling it.
+
2004-02-17 Christopher Faylor <cgf@redhat.com>
* Makefile.in (clean): Clean libserver, too.
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index 5b5f66d97..b8cd3ed80 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -300,15 +300,15 @@ fork_child (HANDLE& hParent, dll *&first_dll, bool& load_dlls)
(void) ForceCloseHandle1 (fork_info->subproc_ready, subproc_ready);
(void) ForceCloseHandle1 (fork_info->forker_finished, forker_finished);
+ pinfo_fixup_after_fork ();
+ _my_tls.fixup_after_fork ();
+ sigproc_init ();
+
#ifdef USE_SERVER
if (fixup_shms_after_fork ())
api_fatal ("recreate_shm areas after fork failed");
#endif
- pinfo_fixup_after_fork ();
- _my_tls.fixup_after_fork ();
- sigproc_init ();
-
/* Set thread local stuff to zero. Under Windows 95/98 this is sometimes
non-zero, for some reason.
FIXME: There is a memory leak here after a fork. */