Fix LyX server on Windows

On some recent Windows versions, GetLastError() may also return
NO_ERROR instead of ERROR_IO_PENDING during an overlapped write
operation to a pipe. This was confusing the state machine in
Server.cpp so that replies to commands were scheduled but were
never actually output.
This commit is contained in:
Enrico Forestieri 2018-08-07 17:56:07 +02:00
parent ab72f94595
commit cf5f2661dc

View File

@ -356,7 +356,7 @@ bool LyXComm::pipeServer()
error = GetLastError(); error = GetLastError();
if (success && error == ERROR_IO_PENDING) { if (success && (error == ERROR_IO_PENDING || error == NO_ERROR)) {
// The write operation is still pending. // The write operation is still pending.
// We get here when a reader is started // We get here when a reader is started
// well before a reply is ready, so delay // well before a reply is ready, so delay