diff options
Diffstat (limited to 'database')
-rw-r--r-- | database/rrd.h | 2 | ||||
-rw-r--r-- | database/rrdset.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/database/rrd.h b/database/rrd.h index dda3e5f9a2..acd0032d47 100644 --- a/database/rrd.h +++ b/database/rrd.h @@ -1253,7 +1253,7 @@ void rrdset_next_usec(RRDSET *st, usec_t microseconds); void rrdset_timed_next(RRDSET *st, struct timeval now, usec_t microseconds); #define rrdset_next(st) rrdset_next_usec(st, 0ULL) -void rrdset_timed_done(RRDSET *st, struct timeval now); +void rrdset_timed_done(RRDSET *st, struct timeval now, bool pending_rrdset_next); void rrdset_done(RRDSET *st); void rrdset_is_obsolete(RRDSET *st); diff --git a/database/rrdset.c b/database/rrdset.c index d69c830bb1..fcfba94273 100644 --- a/database/rrdset.c +++ b/database/rrdset.c @@ -1386,12 +1386,15 @@ void rrdset_done(RRDSET *st) { struct timeval now; now_realtime_timeval(&now); - rrdset_timed_done(st, now); + rrdset_timed_done(st, now, /* pending_rrdset_next = */ st->counter_done != 0); } -void rrdset_timed_done(RRDSET *st, struct timeval now) { +void rrdset_timed_done(RRDSET *st, struct timeval now, bool pending_rrdset_next) { if(unlikely(netdata_exit)) return; + if (pending_rrdset_next) + rrdset_next(st); + debug(D_RRD_CALLS, "rrdset_done() for chart '%s'", rrdset_name(st)); RRDDIM *rd; |