Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-11-04 20:52:43 +0400
committerChristopher Faylor <me@cgf.cx>2011-11-04 20:52:43 +0400
commit705d704153cf2352205b7f481473971f9eda8073 (patch)
treedca35fbfffe21c637ee051fddd9ca2a10329ed4f
parentf4bb53c4e0a4f1b74c1373da19c8e27476804719 (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/ChangeLog5
-rw-r--r--winsup/cygwin/sigproc.cc2
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);
}
}