|
|
|
@ -556,7 +556,8 @@ read_console_w(HANDLE handle, DWORD maxlen, DWORD *readlen) { |
|
|
|
Py_BEGIN_ALLOW_THREADS |
|
|
|
DWORD off = 0; |
|
|
|
while (off < maxlen) { |
|
|
|
DWORD n, len = min(maxlen - off, BUFSIZ); |
|
|
|
DWORD n = (DWORD)-1; |
|
|
|
DWORD len = min(maxlen - off, BUFSIZ); |
|
|
|
SetLastError(0); |
|
|
|
BOOL res = ReadConsoleW(handle, &buf[off], len, &n, NULL); |
|
|
|
|
|
|
|
@ -564,6 +565,9 @@ read_console_w(HANDLE handle, DWORD maxlen, DWORD *readlen) { |
|
|
|
err = GetLastError(); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (n == (DWORD)-1 && (err = GetLastError()) == ERROR_OPERATION_ABORTED) { |
|
|
|
break; |
|
|
|
} |
|
|
|
if (n == 0) { |
|
|
|
err = GetLastError(); |
|
|
|
if (err != ERROR_OPERATION_ABORTED) |
|
|
|
|