summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--win32/win32.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index c15ffe171e..f7a4118871 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Dec 8 17:37:33 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (rb_w32_pipe_exec): need to close original socket
+ handle.
+
Wed Dec 8 14:31:36 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
* sprintf.c (rb_f_sprintf): [ruby-dev:25104]
diff --git a/win32/win32.c b/win32/win32.c
index 4cb1d45dc7..5dafc0320f 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -780,14 +780,12 @@ rb_w32_pipe_exec(const char *cmd, const char *prog, int mode, int *pipe)
/* associate handle to file descritor */
*pipe = rb_w32_open_osfhandle((long)hDupFile, pipemode);
+ CloseHandle(hOrg);
if (*pipe == -1) {
- CloseHandle(hOrg);
CloseHandle(hDupFile);
CloseChildHandle(child);
break;
}
- if (!(reading && writing))
- CloseHandle(hOrg);
ret = child->pid;
} while (0));