From 7c6630905d2d00c31500eddde2142af24bf3bd33 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Mon, 30 Jun 2014 12:42:26 +0200 Subject: [PATCH] sched: exit with fatal message when there is nothing to do With cmdport 0 and port 0, it's now possible that there is no descriptor watched or timer running, i.e. chronyd doing nothing and only waiting to be terminated. Replace the assertion with LOG_FATAL to exit properly. --- sched.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sched.c b/sched.c index 578c69c3..60dcf32c 100644 --- a/sched.c +++ b/sched.c @@ -592,7 +592,9 @@ SCH_MainLoop(void) /* if there are no file descriptors being waited on and no timeout set, this is clearly ridiculous, so stop the run */ - assert(ptv || n_read_fds); + if (!ptv && !n_read_fds) { + LOG_FATAL(LOGF_Scheduler, "Nothing to do"); + } /* Copy current set of read file descriptors */ memcpy((void *) &rd, (void *) &read_fds, sizeof(fd_set)); -- 2.47.3