summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/sigproc.cc2
-rw-r--r--winsup/cygwin/spawn.cc1
3 files changed, 9 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 62201b7a2..cb6dcb549 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,12 @@
2005-10-18 Christopher Faylor <cgf@timesys.com>
+ * sigproc.cc (child_info::sync): Use correct name when closing to
+ prevent warnings when DEBUGGING.
+ * spawn.cc (spawn_guts): Set myself.hProcess to pi.hProcess since this
+ may have been zeroed by the previous sync.
+
+2005-10-18 Christopher Faylor <cgf@timesys.com>
+
* sigproc.cc (child_info::sync): Fix typo which caused hProcess to
never be cleared. Only clear hProcess when not forking.
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index fc8ea9147..86ac20c8b 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -848,7 +848,7 @@ child_info::sync (pid_t pid, HANDLE& hProcess, DWORD howlong)
{
if (type != _PROC_FORK && x == nsubproc_ready)
{
- ForceCloseHandle (hProcess);
+ ForceCloseHandle1 (hProcess, childhProcess);
hProcess = NULL;
}
sigproc_printf ("process %d synchronized, WFMO returned %d", pid, x);
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index 17c7e5828..269fb7491 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -814,6 +814,7 @@ spawn_guts (const char * prog_arg, const char *const *argv,
switch (mode)
{
case _P_OVERLAY:
+ myself.hProcess = pi.hProcess;
if (!synced && !myself->wr_proc_pipe)
{
extern bool is_toplevel_proc;