From 5e73df5f8ec52055e5f79be5d898e5baec4c9967 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Fri, 12 Oct 2007 18:22:51 +0200 Subject: [PATCH] rrdtool plugin: Wait for the `queue thread' to exit.. ..before returning from the shutdown function. --- src/rrdtool.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/rrdtool.c b/src/rrdtool.c index 06d97639..7002dcfb 100644 --- a/src/rrdtool.c +++ b/src/rrdtool.c @@ -1052,6 +1052,14 @@ static int rrd_shutdown (void) rrd_cache_flush (-1); pthread_mutex_unlock (&cache_lock); + /* Wait for all the values to be written to disk before returning. */ + if (queue_thread != 0) + { + pthread_join (queue_thread, NULL); + queue_thread = 0; + DEBUG ("rrdtool plugin: queue_thread exited."); + } + pthread_mutex_lock (&queue_lock); do_shutdown = 1; pthread_cond_signal (&queue_cond); -- 2.30.2