[Spice-devel] [PATCH spice-server v6 07/19] net-utils: Port to Windows

Frediano Ziglio fziglio at redhat.com
Tue Apr 30 12:24:07 UTC 2019


Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/net-utils.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/server/net-utils.c b/server/net-utils.c
index 71912728..144bfd8f 100644
--- a/server/net-utils.c
+++ b/server/net-utils.c
@@ -33,6 +33,7 @@
 #include <common/log.h>
 
 #include "net-utils.h"
+#include "sys-socket.h"
 
 /**
  * red_socket_set_keepalive:
@@ -99,6 +100,15 @@ bool red_socket_set_no_delay(int fd, bool no_delay)
  */
 bool red_socket_set_non_blocking(int fd, bool non_blocking)
 {
+#ifdef _WIN32
+    u_long ioctl_nonblocking = 1;
+
+    if (ioctlsocket(fd, FIONBIO, &ioctl_nonblocking) != 0) {
+        spice_warning("ioctlsocket(FIONBIO) failed, %d", WSAGetLastError());
+        return false;
+    }
+    return true;
+#else
     int flags;
 
     if ((flags = fcntl(fd, F_GETFL)) == -1) {
@@ -118,6 +128,7 @@ bool red_socket_set_non_blocking(int fd, bool non_blocking)
     }
 
     return true;
+#endif
 }
 
 /**
-- 
2.20.1



More information about the Spice-devel mailing list