diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2004-02-17 21:17:25 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2004-02-17 21:17:25 +0000 |
commit | a682de34be3a3e6f1270a4b0e1e5288e09140abf (patch) | |
tree | a6122e3d225f8cf09e5465abed4d5e8957eaf762 /winsup | |
parent | 720c33ae4c9fb2fe10268e123d5b34a5042170e1 (diff) | |
download | newlib-a682de34be3a3e6f1270a4b0e1e5288e09140abf.zip newlib-a682de34be3a3e6f1270a4b0e1e5288e09140abf.tar.gz newlib-a682de34be3a3e6f1270a4b0e1e5288e09140abf.tar.bz2 |
* fork.cc (fork_child): Move fixup_shms_after_fork so that
signal_arrived is initialized when calling it.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fork.cc | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 90d2cb5..b048677 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 5b5f66d..b8cd3ed 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. */ |