diff options
Diffstat (limited to 'scripts/external_libs/platform/fedora18/zmq/eventloop/minitornado/platform/windows.py')
-rw-r--r-- | scripts/external_libs/platform/fedora18/zmq/eventloop/minitornado/platform/windows.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/external_libs/platform/fedora18/zmq/eventloop/minitornado/platform/windows.py b/scripts/external_libs/platform/fedora18/zmq/eventloop/minitornado/platform/windows.py new file mode 100644 index 00000000..817bdca1 --- /dev/null +++ b/scripts/external_libs/platform/fedora18/zmq/eventloop/minitornado/platform/windows.py @@ -0,0 +1,20 @@ +# NOTE: win32 support is currently experimental, and not recommended +# for production use. + + +from __future__ import absolute_import, division, print_function, with_statement +import ctypes +import ctypes.wintypes + +# See: http://msdn.microsoft.com/en-us/library/ms724935(VS.85).aspx +SetHandleInformation = ctypes.windll.kernel32.SetHandleInformation +SetHandleInformation.argtypes = (ctypes.wintypes.HANDLE, ctypes.wintypes.DWORD, ctypes.wintypes.DWORD) +SetHandleInformation.restype = ctypes.wintypes.BOOL + +HANDLE_FLAG_INHERIT = 0x00000001 + + +def set_close_exec(fd): + success = SetHandleInformation(fd, HANDLE_FLAG_INHERIT, 0) + if not success: + raise ctypes.GetLastError() |