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 ();