summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/posixmodule.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index b35d471..cafb46f 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -2237,15 +2237,18 @@ posix_pipe(self, args)
return Py_BuildValue("(ii)", fds[0], fds[1]);
#else /* MS_WIN32 */
HANDLE read, write;
+ int read_fd, write_fd;
BOOL ok;
if (!PyArg_Parse(args, ""))
return NULL;
Py_BEGIN_ALLOW_THREADS
- ok = CreatePipe( &read, &write, NULL, 0);
+ ok = CreatePipe(&read, &write, NULL, 0);
Py_END_ALLOW_THREADS
if (!ok)
return posix_error();
- return Py_BuildValue("(ii)", read, write);
+ read_fd = _open_osfhandle((long)read, 0);
+ write_fd = _open_osfhandle((long)write, 1);
+ return Py_BuildValue("(ii)", read_fd, write_fd);
#endif /* MS_WIN32 */
#endif
}