[Spice-devel] [PATCH 1/3] vdservice: don't close pipe if overlapped I/O event is not in signaled state (rhbz#667777)

Arnon Gilboa agilboa at redhat.com
Thu Apr 28 01:58:40 PDT 2011


which is beacuse ReadFile completed successfully without pending and the data was already consumed
---
 vdservice/vdservice.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/vdservice/vdservice.cpp b/vdservice/vdservice.cpp
index 175587c..85fa182 100644
--- a/vdservice/vdservice.cpp
+++ b/vdservice/vdservice.cpp
@@ -512,7 +512,7 @@ bool VDService::execute()
                                             &bytes, FALSE) || GetLastError() == ERROR_MORE_DATA) {
                         handle_pipe_data(bytes);
                         read_pipe();
-                    } else {
+                    } else if (GetLastError() != ERROR_IO_INCOMPLETE) {
                         vd_printf("GetOverlappedResult failed %u", GetLastError());
                         _pipe_connected = false;
                         DisconnectNamedPipe(_pipe_state.pipe);
-- 
1.7.4.1



More information about the Spice-devel mailing list