diff --git a/ffserver.c b/ffserver.c
index 603227db5ddc82e3edd9ee6632a0547633dc02b1..040c5f8d24a94b7b6aeafcb2113ebce5d9113d8d 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -594,7 +594,7 @@ static int http_server(void)
             ret = poll(poll_table, poll_entry - poll_table, delay);
             if (ret < 0 && errno != EAGAIN && errno != EINTR)
                 return -1;
-        } while (ret <= 0);
+        } while (ret < 0);
 
         cur_time = av_gettime() / 1000;