Ack & thanks. The flow seems much better now;) will be tested for regression anyway.

Christophe Fergeau wrote:
When checking for ConnectNamedPipe status, the error check uses
if ( err = ERROR_IO_PENDING) instead of using == which causes this
error check to always trigger. This commit fixes this, however it
needs careful testing since the fact that it went unnoticed means
the code with the bug was working as expected. Maybe changing it
will cause unexpected regressions.
---
 vdservice/vdservice.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/vdservice/vdservice.cpp b/vdservice/vdservice.cpp
index 4f47678..4701f5a 100644
--- a/vdservice/vdservice.cpp
+++ b/vdservice/vdservice.cpp
@@ -893,7 +893,7 @@ bool VDService::launch_agent()
     ZeroMemory(&overlap, sizeof(overlap));
     overlap.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
     DWORD err = (ConnectNamedPipe(_pipe_state.pipe, &overlap) ? 0 : 
GetLastError());
-    if (err = ERROR_IO_PENDING) {
+    if (err == ERROR_IO_PENDING) {
         HANDLE wait_handles[2] = {overlap.hEvent, _agent_proc_info.hProcess};
         DWORD wait_ret = WaitForMultipleObjects(2, wait_handles, FALSE, 
VD_AGENT_TIMEOUT);
         if (wait_ret != WAIT_OBJECT_0) {

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to