GUACAMOLE-325: Use recv() on Windows platforms.

Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/commit/1c404d18
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/tree/1c404d18
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/diff/1c404d18

Branch: refs/heads/master
Commit: 1c404d188189039064d6f29f75076b2931ac9793
Parents: 944857d
Author: Michael Jumper <mjum...@apache.org>
Authored: Sun Jun 11 13:06:46 2017 -0700
Committer: Michael Jumper <mjum...@apache.org>
Committed: Wed Jul 5 20:55:02 2017 -0700

----------------------------------------------------------------------
 src/libguac/socket-fd.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/blob/1c404d18/src/libguac/socket-fd.c
----------------------------------------------------------------------
diff --git a/src/libguac/socket-fd.c b/src/libguac/socket-fd.c
index f806b87..b12173d 100644
--- a/src/libguac/socket-fd.c
+++ b/src/libguac/socket-fd.c
@@ -146,8 +146,15 @@ static ssize_t guac_socket_fd_read_handler(guac_socket* 
socket,
 
     guac_socket_fd_data* data = (guac_socket_fd_data*) socket->data;
 
-    /* Read from socket */
-    int retval = read(data->fd, buf, count);
+    int retval;
+
+#ifdef __MINGW32__
+    /* MINGW32 WINSOCK only works with recv() */
+    retval = recv(data->fd, buf, count, 0);
+#else
+    /* Use read() for all other platforms */
+    retval = read(data->fd, buf, count);
+#endif
 
     /* Record errors in guac_error */
     if (retval < 0) {

Reply via email to