diff options
-rw-r--r-- | lib/server/WinNamedPipeStream.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/server/WinNamedPipeStream.cpp b/lib/server/WinNamedPipeStream.cpp index fedb57d8..9d4ab788 100644 --- a/lib/server/WinNamedPipeStream.cpp +++ b/lib/server/WinNamedPipeStream.cpp @@ -440,14 +440,19 @@ void WinNamedPipeStream::Write(const void *pBuffer, int NBytes) if (!Success) { - DWORD err = GetLastError(); - BOX_ERROR("Failed to write to control socket: " << - GetErrorMessage(err)); - Close(); - // ERROR_NO_DATA is a strange name for // "The pipe is being closed". No exception wanted. + DWORD err = GetLastError(); + + if (err != ERROR_NO_DATA) + { + BOX_ERROR("Failed to write to control " + socket: " << GetErrorMessage(err)); + } + + Close(); + if (err == ERROR_NO_DATA) { return; |