From cf22fb91a1cf7232857833ff39538823fafca3d7 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 28 Mar 2012 17:28:27 +0000 Subject: [PATCH] * sigproc.cc (proc_terminate): Avoid releasing myself. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/sigproc.cc | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e9a13f3d7..5c02e0c15 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2012-03-28 Christopher Faylor + + * sigproc.cc (proc_terminate): Avoid releasing myself. + 2012-03-28 Corinna Vinschen * times.cc (clock_setres): Set minperiod to period. diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index dc73765be..a8a85ebb6 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -448,7 +448,8 @@ proc_terminate () procs[i]->ppid = 1; if (procs[i].wait_thread) procs[i].wait_thread->terminate_thread (); - procs[i].release (); + if (procs[i] != myself) + procs[i].release (); } nprocs = 0; sync_proc_subproc.release ();