sockfilt.c: fixed getting stuck waiting for MinGW stdin pipe
This commit is contained in:
parent
a5d7ec1848
commit
6a03f6368f
@ -568,14 +568,18 @@ static DWORD WINAPI select_ws_stdin_wait_thread(LPVOID lpParameter)
|
|||||||
case FILE_TYPE_PIPE:
|
case FILE_TYPE_PIPE:
|
||||||
while(WaitForMultipleObjectsEx(2, handles, FALSE, INFINITE, FALSE)
|
while(WaitForMultipleObjectsEx(2, handles, FALSE, INFINITE, FALSE)
|
||||||
== WAIT_OBJECT_0 + 1) {
|
== WAIT_OBJECT_0 + 1) {
|
||||||
if(!PeekNamedPipe(handle, NULL, 0, NULL, &length, NULL)) {
|
if(PeekNamedPipe(handle, NULL, 0, NULL, &length, NULL)) {
|
||||||
|
if(length == 0)
|
||||||
|
SleepEx(100, FALSE);
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else {
|
||||||
if(GetLastError() == ERROR_BROKEN_PIPE)
|
if(GetLastError() == ERROR_BROKEN_PIPE)
|
||||||
SleepEx(100, FALSE);
|
SleepEx(100, FALSE);
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user