about summary refs log tree commit homepage
path: root/ext/kgio/poll.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/kgio/poll.c')
-rw-r--r--ext/kgio/poll.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/kgio/poll.c b/ext/kgio/poll.c
index 2f101d1..89f4623 100644
--- a/ext/kgio/poll.c
+++ b/ext/kgio/poll.c
@@ -40,8 +40,6 @@ static int retryable(struct poll_args *a)
 
         if (a->timeout < 0)
                 return 1;
-        if (a->timeout == 0)
-                return 0;
 
         clock_gettime(hopefully_CLOCK_MONOTONIC, &ts);
 
@@ -53,7 +51,9 @@ static int retryable(struct poll_args *a)
         }
         a->timeout -= ts.tv_sec * 1000;
         a->timeout -= ts.tv_nsec / 1000000;
-        return (a->timeout >= 0);
+        if (a->timeout < 0)
+                a->timeout = 0;
+        return 1;
 }
 
 static int num2timeout(VALUE timeout)