From 4564c08b26f3eb036ca758be5ca76af117e69e5b Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Fri, 2 Apr 2010 23:31:40 +0000 Subject: set svn:eol-style on new file --- Lib/test/win_console_handler.py | 84 ++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/Lib/test/win_console_handler.py b/Lib/test/win_console_handler.py index e4190d4..5c6c741 100644 --- a/Lib/test/win_console_handler.py +++ b/Lib/test/win_console_handler.py @@ -1,42 +1,42 @@ -"""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 -import signal -import ctypes - -# Function prototype for the handler function. Returns BOOL, takes a DWORD. -HandlerRoutine = wintypes.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) - - # Do nothing but wait for the signal - input() +"""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 +import signal +import ctypes + +# Function prototype for the handler function. Returns BOOL, takes a DWORD. +HandlerRoutine = wintypes.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) + + # Do nothing but wait for the signal + input() -- cgit v0.12