summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-08 08:38:59 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-08 08:38:59 +0000
commit3f5646312944b77463f7576c275702e9896abb93 (patch)
tree0fe04c40d7f633b09b7773b5c3ff735187e6bcf6 /win32
parenta0b3060708a3422d2aa4046c0f6595cd94728ba9 (diff)
* win32/win32.c (rb_w32_pipe_exec): need to close original socket
handle. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32')
-rw-r--r--win32/win32.c4
1 files changed, 1 insertions, 3 deletions
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));