diff --git a/src/server.c b/src/server.c index 3452a82d..d5ffb48b 100644 --- a/src/server.c +++ b/src/server.c @@ -2085,13 +2085,14 @@ static int server_main (server * const srv, int argc, char **argv) { (*handler)(srv, context, revents); } } while (--n > 0); - fdevent_sched_run(srv, srv->ev); } else if (n < 0 && errno != EINTR) { log_error_write(srv, __FILE__, __LINE__, "ss", "fdevent_poll failed:", strerror(errno)); } + if (n >= 0) fdevent_sched_run(srv, srv->ev); + for (ndx = 0; ndx < srv->joblist->used; ndx++) { connection *con = srv->joblist->ptr[ndx]; connection_state_machine(srv, con);