diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/alarm.c | 8 | ||||
-rw-r--r-- | src/cache_timer.c | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/alarm.c b/src/alarm.c index 7352ccb..4b23bd1 100644 --- a/src/alarm.c +++ b/src/alarm.c @@ -70,6 +70,14 @@ void del_alarm(struct alarm_list *alarm) list_del_init(&alarm->head); } +int alarm_pending(struct alarm_list *alarm) +{ + if (list_empty(&alarm->head)) + return 0; + + return 1; +} + static struct timeval * calculate_next_run(struct timeval *cand, struct timeval *tv, diff --git a/src/cache_timer.c b/src/cache_timer.c index 86bb8fc..fe997ec 100644 --- a/src/cache_timer.c +++ b/src/cache_timer.c @@ -60,6 +60,9 @@ static int timer_dump(struct us_conntrack *u, void *data, char *buf, int type) if (type == NFCT_O_XML) return 0; + if (!alarm_pending(alarm)) + return 0; + gettimeofday(&tv, NULL); timersub(&tv, &alarm->tv, &tmp); return sprintf(buf, " [expires in %lds]", tmp.tv_sec); |