summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-08-25 02:27:42 +0000
committerChristopher Faylor <me@cgf.cx>2000-08-25 02:27:42 +0000
commit239b06b864b0231e9995e2279af850362910872f (patch)
tree54156b2a5e8e3bbbd5dd0117e607570edd1f4e1f /winsup/cygwin/sigproc.cc
parent4bb85e7f6720e5cfa362b985527e922a6047a1e4 (diff)
downloadcygnal-239b06b864b0231e9995e2279af850362910872f.tar.gz
cygnal-239b06b864b0231e9995e2279af850362910872f.tar.bz2
cygnal-239b06b864b0231e9995e2279af850362910872f.zip
* external.cc (cygwin_internal): Add CW_INIT_EXCEPTIONS to allow cygwin
exception handling on threads not created by cygwin. * sigproc.cc (proc_terminate): Don't release pinfo structs since we are exiting. * include/sys/cygwin.h: Add CW_INIT_EXCEPTIONS.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 45b6d20a9..102310175 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -499,7 +499,7 @@ proc_terminate (void)
zombies[i]->hProcess = NULL;
}
zombies[i]->process_state = PID_NOT_IN_USE; /* CGF FIXME - still needed? */
- zombies[i].release();
+ // zombies[i].release(); // FIXME: this breaks older gccs for some reason
}
/* Disassociate my subprocesses */
@@ -530,10 +530,15 @@ proc_terminate (void)
pchildren[i]->process_state |= PID_ORPHANED;
}
}
- pchildren[i].release ();
+ // pchildren[i].release (); // FIXME: this breaks older gccs for some reason
}
nchildren = nzombies = 0;
+ /* Just zero sync_proc_subproc as the delete below seems to cause
+ problems for older gccs. */
+ #if 1
+ sync_proc_subproc = NULL;
+ #else
/* Attempt to close and release sync_proc_subproc in a
* non-raceable manner.
*/
@@ -541,8 +546,9 @@ proc_terminate (void)
if (m)
{
sync_proc_subproc = NULL;
- delete m;
+ // delete m;
}
+ #endif
}
sigproc_printf ("leaving");
}