]> git.cworth.org Git - ttt/blobdiff - src/ttt-socket.c
2005-12-04 Bryan Worth <bryan@theworths.org>
[ttt] / src / ttt-socket.c
index 20b96e263056103b87752fe6da432b5c8a89b63b..5bf36712a6f3b92ffb102e7eeb0328403a8af912 100644 (file)
@@ -166,6 +166,7 @@ ttt_socket_create_client (const char        *host,
     ttt_status_t status;
     struct sockaddr_in addr;
     int socket;
+    int flags;
 
     *socket_ret = -1;
 
@@ -178,13 +179,15 @@ ttt_socket_create_client (const char      *host,
        shutdown (socket, SHUT_RDWR);
        return status;
     }
-
+   flags = fcntl(socket, F_GETFL);
+   flags |= O_NONBLOCK;
+   fcntl(socket, F_SETFL, flags);
     *socket_ret = socket;
     return TTT_STATUS_SUCCESS;
 }
 
 /* Exported: see ttt-socket.h for documentation. */
-void
+ssize_t
 ttt_socket_read (int    socket,
                 void   *buf,
                 size_t  count)
@@ -192,11 +195,8 @@ ttt_socket_read (int        socket,
     int bytes_read;
     char *cbuf = buf;
 
-    while (count) {
        bytes_read = xread (socket, cbuf, count);
-       cbuf += bytes_read;
-       count -= bytes_read;
-    }
+       return(bytes_read);
 }
 
 /* Exported: see ttt-socket.h for documentation. */