The input stream might no longer be the raw socket, so we need to query what's currently active. That wrapping stream might have its own buffering and may have more data even if the socket is drained.tags/v1.10.90
@@ -266,7 +266,7 @@ void CConn::socketEvent(FL_SOCKET fd, void *data) | |||
// Also check if we need to stop reading and terminate | |||
if (should_exit()) | |||
break; | |||
} while (cc->sock->inStream().checkNoWait(1)); | |||
} while (cc->getInStream()->checkNoWait(1)); | |||
} catch (rdr::EndOfStream& e) { | |||
vlog.info("%s", e.str()); | |||
exit_vncviewer(); |