]> git.sesse.net Git - cubemap/blobdiff - main.cpp
Add a missing compilation step to the README.
[cubemap] / main.cpp
index 98d0948de80f9acd835ee5dbea56e8290b15acda..1b6fb4f8103db87287646f258546e045e11dba5c 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -9,6 +9,7 @@
 #include <string.h>
 #include <sys/time.h>
 #include <sys/wait.h>
+#include <systemd/sd-daemon.h>
 #include <unistd.h>
 #include <algorithm>
 #include <map>
@@ -230,6 +231,12 @@ void create_streams(const Config &config,
                        ++input_it->second.refcount;
                }
        }
+
+       // HTTP gen204 endpoints.
+       for (unsigned i = 0; i < config.pings.size(); ++i) {
+               const Gen204Config &ping_config = config.pings[i];
+               servers->add_gen204(ping_config.url, ping_config.allow_origin);
+       }
 }
        
 void open_logs(const vector<LogConfig> &log_destinations)
@@ -541,10 +548,18 @@ start:
                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);