Code

fix flush race in rrdcached -- Christian Hitz
[rrdtool.git] / src / rrd_daemon.c
index 340ea1539db6271709497a263d0d9253cc7c50e5..2c81424a34d0426d8680b751f13221b9837d268c 100644 (file)
@@ -295,7 +295,9 @@ static int handle_request_help (HANDLER_PROTO);
 static void sig_common (const char *sig) /* {{{ */
 {
   RRDD_LOG(LOG_NOTICE, "caught SIG%s", sig);
-  state = FLUSHING;
+  if (state == RUNNING) {
+      state = FLUSHING;
+  }
   pthread_cond_broadcast(&flush_cond);
   pthread_cond_broadcast(&queue_cond);
 } /* }}} void sig_common */