diff options
Diffstat (limited to 'lib/python2.7/test/win_console_handler.py')
-rw-r--r-- | lib/python2.7/test/win_console_handler.py | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/python2.7/test/win_console_handler.py b/lib/python2.7/test/win_console_handler.py deleted file mode 100644 index 0ffcee2..0000000 --- a/lib/python2.7/test/win_console_handler.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Script used to test os.kill on Windows, for issue #1220212 - -This script is started as a subprocess in test_os and is used to test the -CTRL_C_EVENT and CTRL_BREAK_EVENT signals, which requires a custom handler -to be written into the kill target. - -See http://msdn.microsoft.com/en-us/library/ms685049%28v=VS.85%29.aspx for a -similar example in C. -""" - -from ctypes import wintypes, WINFUNCTYPE -import signal -import ctypes -import mmap -import sys - -# Function prototype for the handler function. Returns BOOL, takes a DWORD. -HandlerRoutine = WINFUNCTYPE(wintypes.BOOL, wintypes.DWORD) - -def _ctrl_handler(sig): - """Handle a sig event and return 0 to terminate the process""" - if sig == signal.CTRL_C_EVENT: - pass - elif sig == signal.CTRL_BREAK_EVENT: - pass - else: - print("UNKNOWN EVENT") - return 0 - -ctrl_handler = HandlerRoutine(_ctrl_handler) - - -SetConsoleCtrlHandler = ctypes.windll.kernel32.SetConsoleCtrlHandler -SetConsoleCtrlHandler.argtypes = (HandlerRoutine, wintypes.BOOL) -SetConsoleCtrlHandler.restype = wintypes.BOOL - -if __name__ == "__main__": - # Add our console control handling function with value 1 - if not SetConsoleCtrlHandler(ctrl_handler, 1): - print("Unable to add SetConsoleCtrlHandler") - exit(-1) - - # Awaken mail process - m = mmap.mmap(-1, 1, sys.argv[1]) - m[0] = '1' - - # Do nothing but wait for the signal - while True: - pass |