environment/lib/python2.7/site-packages/IPython/utils/_process_win32_controller.py
def _stdin_raw_nonblock(self):
        """Use the raw Win32 handle of sys.stdin to do non-blocking reads"""
        # WARNING: This is experimental, and produces inconsistent results.
        #          It's possible for the handle not to be appropriate for use
        #          with WaitForSingleObject, among other things.
        handle = msvcrt.get_osfhandle(sys.stdin.fileno())
        result = WaitForSingleObject(handle, 100)
        if result == WAIT_FAILED:
            raise ctypes.WinError()
        elif result == WAIT_TIMEOUT:
            print(".", end='')
            return None
        else:
            data = ctypes.create_string_buffer(256)
            bytesRead = DWORD(0)
            print('?', end='')

            if not ReadFile(handle, data, 256,
                        ctypes.byref(bytesRead), None):
                raise ctypes.WinError()
            # This ensures the non-blocking works with an actual console
            # Not checking the error, so the processing will still work with
            # other handle types
            FlushConsoleInputBuffer(handle)

            data = data.value
            data = data.replace('\r\n', '\n')
            data = data.replace('\r', '\n')
            print(repr(data) + " ", end='')
            return data
def _stdin_raw_nonblock(self):
        # WARNING: This is experimental, and produces inconsistent results.
        #          It's possible for the handle not to be appropriate for use
        #          with WaitForSingleObject, among other things.
        handle = msvcrt.get_osfhandle(sys.stdin.fileno())
        result = WaitForSingleObject(handle, 100)
        if result == WAIT_FAILED:
            raise ctypes.WinError()
        elif result == WAIT_TIMEOUT:
            print(".", end='')
            return None
        else:
            data = ctypes.create_string_buffer(256)
            bytesRead = DWORD(0)
            print('?', end='')

            if not ReadFile(handle, data, 256,
                        ctypes.byref(bytesRead), None):
                raise ctypes.WinError()
            # This ensures the non-blocking works with an actual console
            # Not checking the error, so the processing will still work with
            # other handle types
            FlushConsoleInputBuffer(handle)

            data = data.value
            data = data.replace('\r\n', '\n')
            data = data.replace('\r', '\n')
            print(repr(data) + " ", end='')
            return data
def _stdin_raw_nonblock ( self ) : # WARNING: This is experimental, and produces inconsistent results. #          It's possible for the handle not to be appropriate for use #          with WaitForSingleObject, among other things. handle = msvcrt . get_osfhandle ( sys . stdin . fileno ( ) ) result = WaitForSingleObject ( handle , 100 ) if result == WAIT_FAILED : raise ctypes . WinError ( ) elif result == WAIT_TIMEOUT : print ( "." , end = '' ) return None else : data = ctypes . create_string_buffer ( 256 ) bytesRead = DWORD ( 0 ) print ( '?' , end = '' ) if not ReadFile ( handle , data , 256 , ctypes . byref ( bytesRead ) , None ) : raise ctypes . WinError ( ) # This ensures the non-blocking works with an actual console # Not checking the error, so the processing will still work with # other handle types FlushConsoleInputBuffer ( handle ) data = data . value data = data . replace ( '\r\n' , '\n' ) data = data . replace ( '\r' , '\n' ) print ( repr ( data ) + " " , end = '' ) return data
Use the raw Win32 handle of sys.stdin to do non-blocking reads
Use the raw Win32 handle of sys . stdin to do non - blocking reads