Author: Philip Jenvey <pjen...@underboss.org>
Branch: py3k
Changeset: r84717:29d14733e007
Date: 2016-05-26 14:13 -0700
http://bitbucket.org/pypy/pypy/changeset/29d14733e007/

Log:    add new funcs for subprocess. there's more needed for
        multiprocessing

diff --git a/lib_pypy/_winapi.py b/lib_pypy/_winapi.py
--- a/lib_pypy/_winapi.py
+++ b/lib_pypy/_winapi.py
@@ -53,6 +53,10 @@
 _GetStdHandle.argtypes = [ctypes.c_int]
 _GetStdHandle.restype = ctypes.c_int
 
+_GetModuleFileNameW = kernel32.GetModuleFileNameW
+_GetModuleFileNameW.argtypes = [ctypes.c_int, ctypes.c_wchar_p, ctypes.c_uint]
+_GetModuleFileNameW.restype = ctypes.c_int
+
 class _STARTUPINFO(ctypes.Structure):
     _fields_ = [('cb',         ctypes.c_int),
                 ('lpReserved', ctypes.c_void_p),
@@ -202,6 +206,20 @@
     else:
         return res
 
+def CloseHandle(handle):
+    res = _CloseHandle(handle)
+
+    if not res:
+        raise _WinError()
+
+def GetModuleFileName(module):
+    buf = ctypes.create_unicode_buffer(_MAX_PATH)
+    res = _GetModuleFileNameW(module, buf, _MAX_PATH)
+
+    if not res:
+        raise _WinError()
+    return buf.value
+
 STD_INPUT_HANDLE = -10
 STD_OUTPUT_HANDLE = -11
 STD_ERROR_HANDLE = -12
@@ -211,7 +229,9 @@
 SW_HIDE = 0
 INFINITE = 0xffffffff
 WAIT_OBJECT_0 = 0
+WAIT_TIMEOUT = 0x102
 CREATE_NEW_CONSOLE = 0x010
 CREATE_NEW_PROCESS_GROUP = 0x200
 CREATE_UNICODE_ENVIRONMENT = 0x400
 STILL_ACTIVE = 259
+_MAX_PATH = 260
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to