qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4251] Fix spurious VNC disconnects on Win32 (Herv?\195?\16


From: Andrzej Zaborowski
Subject: [Qemu-devel] [4251] Fix spurious VNC disconnects on Win32 (Herv?\195?\169 Poussineau).
Date: Thu, 24 Apr 2008 23:40:55 +0000

Revision: 4251
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4251
Author:   balrog
Date:     2008-04-24 23:40:55 +0000 (Thu, 24 Apr 2008)

Log Message:
-----------
Fix spurious VNC disconnects on Win32 (Herv?\195?\169 Poussineau).

Modified Paths:
--------------
    trunk/vnc.c

Modified: trunk/vnc.c
===================================================================
--- trunk/vnc.c 2008-04-24 21:11:41 UTC (rev 4250)
+++ trunk/vnc.c 2008-04-24 23:40:55 UTC (rev 4251)
@@ -633,8 +633,18 @@
 static int vnc_client_io_error(VncState *vs, int ret, int last_errno)
 {
     if (ret == 0 || ret == -1) {
-       if (ret == -1 && (last_errno == EINTR || last_errno == EAGAIN))
-           return 0;
+        if (ret == -1) {
+            switch (last_errno) {
+                case EINTR:
+                case EAGAIN:
+#ifdef _WIN32
+                case WSAEWOULDBLOCK:
+#endif
+                    return 0;
+                default:
+                    break;
+            }
+        }
 
        VNC_DEBUG("Closing down client sock %d %d\n", ret, ret < 0 ? last_errno 
: 0);
        qemu_set_fd_handler2(vs->csock, NULL, NULL, NULL, NULL);
@@ -2086,10 +2096,10 @@
     struct sockaddr_in iaddr;
 #ifndef _WIN32
     struct sockaddr_un uaddr;
+    const char *p;
 #endif
     int reuse_addr, ret;
     socklen_t addrlen;
-    const char *p;
     VncState *vs = ds ? (VncState *)ds->opaque : vnc_state;
     const char *options;
     int password = 0;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]