diff options
author | Christopher Faylor <me@cgf.cx> | 2011-11-04 20:52:43 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-11-04 20:52:43 +0400 |
commit | 705d704153cf2352205b7f481473971f9eda8073 (patch) | |
tree | dca35fbfffe21c637ee051fddd9ca2a10329ed4f | |
parent | f4bb53c4e0a4f1b74c1373da19c8e27476804719 (diff) |
* sigproc.cc (child_info_spawn::reattach_children): Clean up handle when can't
open parent process or suffer handle leak.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/sigproc.cc | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 9f8c0fcfc..ca1fc5314 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-11-04 Christopher Faylor <me.cygwin2011@cgf.cx> + + * sigproc.cc (child_info_spawn::reattach_children): Clean up handle + when can't open parent process or suffer handle leak. + 2011-11-03 Christopher Faylor <me.cygwin2011@cgf.cx> * sigproc.cc (child_info::sync): Report on exit code in strace output. diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index dcb52733b..a3035d9ca 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -868,6 +868,8 @@ child_info_spawn::reattach_children () children[i].rd_proc_pipe); else if ((p.hProcess = OpenProcess (PROCESS_QUERY_INFORMATION, false, p->pid))) p.reattach (); + else + CloseHandle (p.rd_proc_pipe); } } |