diff options
author | Christopher Faylor <me@cgf.cx> | 2000-08-25 02:27:42 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-08-25 02:27:42 +0000 |
commit | 239b06b864b0231e9995e2279af850362910872f (patch) | |
tree | 54156b2a5e8e3bbbd5dd0117e607570edd1f4e1f /winsup/cygwin/sigproc.cc | |
parent | 4bb85e7f6720e5cfa362b985527e922a6047a1e4 (diff) | |
download | cygnal-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.cc | 12 |
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"); } |