error_log_limit_unlimited();
debug(D_EXIT, "Called: netdata_cleanup_and_exit()");
-#ifdef NETDATA_INTERNAL_CHECKS
- kill_childs();
- rrdset_free_all();
-#else
+
+ // save the database
rrdset_save_all();
-#endif
- // kill_childs();
+ // unlink the pid
if(pidfile[0]) {
if(unlink(pidfile) != 0)
error("Cannot unlink pidfile '%s'.", pidfile);
}
- info("NetData exiting. Bye bye...");
+#ifdef NETDATA_INTERNAL_CHECKS
+ // kill all childs
+ kill_childs();
+
+ // free all memory
+ rrdset_free_all();
+#endif
+
+ info("netdata exiting. Bye bye...");
exit(ret);
}
if(become_daemon(dont_fork, user) == -1)
fatal("Cannot daemonize myself.");
- info("NetData started on pid %d", getpid());
-
+ info("netdata started on pid %d.", getpid());
// ------------------------------------------------------------------------
// get default pthread stack size
else debug(D_SYSTEM, "Not starting thread %s.", st->name);
}
+ info("netdata initialization completed. Enjoy real-time performance monitoring!");
+
// ------------------------------------------------------------------------
// block signals while initializing threads.
sigset_t sigset;
pthread_rwlock_unlock(&st->rwlock);
- if(st->mapped == RRD_MEMORY_MODE_SAVE) {
- debug(D_RRD_CALLS, "Saving stats '%s' to '%s'.", st->name, st->cache_filename);
- savememory(st->cache_filename, st, st->memsize);
-
- debug(D_RRD_CALLS, "Unmapping stats '%s'.", st->name);
- munmap(st, st->memsize);
- }
- else if(st->mapped == RRD_MEMORY_MODE_MAP) {
+ if(st->mapped == RRD_MEMORY_MODE_SAVE || st->mapped == RRD_MEMORY_MODE_MAP) {
debug(D_RRD_CALLS, "Unmapping stats '%s'.", st->name);
munmap(st, st->memsize);
}