#include <string.h>
#include <sys/time.h>
#include <sys/wait.h>
+#include <systemd/sd-daemon.h>
#include <unistd.h>
#include <algorithm>
#include <map>
start_logging();
}
-bool dry_run_config(const std::string &argv0, const std::string &config_filename)
+bool dry_run_config(const string &argv0, const string &config_filename)
{
char *argv0_copy = strdup(argv0.c_str());
char *config_filename_copy = strdup(config_filename.c_str());
log(INFO, "Re-exec happened in approx. %.0f ms.", glitch_time * 1000.0);
}
+ sd_notify(0, "READY=1");
+
while (!hupped) {
usleep(100000);
}
+ if (stopped) {
+ sd_notify(0, "STOPPING=1");
+ } else {
+ sd_notify(0, "RELOADING=1");
+ }
+
// OK, we've been HUPed. Time to shut down everything, serialize, and re-exec.
err = clock_gettime(CLOCK_MONOTONIC, &serialize_start);
assert(err != -1);