From: Quentin Young Date: Mon, 5 Jun 2017 20:18:48 +0000 (+0000) Subject: lib: allow infinite sleep in poll() X-Git-Tag: reindent-master-before~87^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=82fc5591f440ee9810ce2c5d90d41a9f419062c8;p=matthieu%2Ffrr.git lib: allow infinite sleep in poll() If fd_poll() is called with no file descriptors, an incorrect check in the function prelude causes it to return instantly; for a thread that wishes to poll but has no file descriptors, this results in busy waiting. Desired behavior is to block. Signed-off-by: Quentin Young --- diff --git a/lib/thread.c b/lib/thread.c index 848e39e1ae..2280b96316 100644 --- a/lib/thread.c +++ b/lib/thread.c @@ -647,9 +647,6 @@ static int fd_poll (struct thread_master *m, struct pollfd *pfds, nfds_t pfdsize, nfds_t count, struct timeval *timer_wait) { - if (count == 0) - return 0; - /* If timer_wait is null here, that means poll() should block indefinitely, * unless the thread_master has overriden it by setting ->selectpoll_timeout. * If the value is positive, it specifies the maximum number of milliseconds