From: Guido van Rossum Date: Fri, 12 Jun 1998 15:05:15 +0000 (+0000) Subject: On Windows, make the pipe() call return Unix file descriptors instead X-Git-Tag: v1.5.2a1~476 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b3f9f4b729ae70dc97c8855feafafc2d66c9f9fd;p=thirdparty%2FPython%2Fcpython.git On Windows, make the pipe() call return Unix file descriptors instead of Windows file handles. Now it is at least compatible with itself on Unix! --- diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index b35d471cbc94..cafb46fee615 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 }