Don't wait infinite. Windows doesn't like that for some reason. See #93 and #94

This commit is contained in:
Micke Prag 2011-10-07 07:58:18 +00:00
parent ffeb0b79d4
commit 184d2ee315

View file

@ -113,13 +113,17 @@ void ConnectionListener::run() {
ConnectNamedPipe(hPipe, &oOverlap);
WaitForSingleObject(oOverlap.hEvent, INFINITE);
DWORD result = WaitForSingleObject(oOverlap.hEvent, 1000);
if (!d->running) {
break;
}
if(result == WAIT_TIMEOUT){
CloseHandle(hPipe);
continue;
}
BOOL connected = GetOverlappedResult(hPipe, &oOverlap, &cbBytesRead, false);
if (!connected) {
CloseHandle(hPipe);
return;