]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/util/socket.c
fix timeout calculation
[netatalk.git] / libatalk / util / socket.c
index fe42cd76453c7ca9649817c344e2e9a5b0f82740..17e0205c581cb6ff1ad3e1cec8fbbe6db3712b36 100644 (file)
@@ -133,7 +133,9 @@ ssize_t readt(int socket, void *data, const size_t length, int setnonblocking, i
                         switch (errno) {
                         case EINTR:
                             (void)gettimeofday(&now, NULL);
-                            if (now.tv_sec >= end.tv_sec && now.tv_usec >= end.tv_usec) {
+                            if (now.tv_sec > end.tv_sec
+                                ||
+                                (now.tv_sec == end.tv_sec && now.tv_usec >= end.tv_usec)) {
                                 LOG(log_debug, logtype_afpd, "select timeout %d s", timeout);
                                 goto exit;
                             }