summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2021-11-25 22:30:52 +0100
committerJoel Klinghed <the_jk@spawned.biz>2021-11-25 22:30:52 +0100
commit4e79abcddcec18151cf5d3c41620741fd3ab5ef9 (patch)
treea4e7ad38a243572b3ef0d49e0a8e33f60399bb19
parent2722431ce919d5e780d01bd14b77fbc03d007f07 (diff)
Write caught signals to info log
-rw-r--r--src/server.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server.cc b/src/server.cc
index b2d03fa..7200be0 100644
--- a/src/server.cc
+++ b/src/server.cc
@@ -122,11 +122,11 @@ public:
auto int_handler = SignalHandler::create(
looper_, SignalHandler::Signal::INT,
- std::bind(&Looper::quit, looper_));
+ std::bind(&Server::quit, this, "INT"));
auto term_handler = SignalHandler::create(
looper_, SignalHandler::Signal::TERM,
- std::bind(&Looper::quit, looper_));
+ std::bind(&Server::quit, this, "TERM"));
auto hup_handler = SignalHandler::create(
looper_, SignalHandler::Signal::HUP,
@@ -140,10 +140,16 @@ public:
private:
void reload() {
+ logger_->info("Caught HUP, starting reload.");
travel_->reload();
site_->reload();
}
+ void quit(std::string const& signal) {
+ logger_->info("Caught %s, quitting.", signal.c_str());
+ looper_->quit();
+ }
+
void accept(int listen_fd, uint8_t event) {
if (event & Looper::EVENT_READ) {
auto fd = inet::accept(logger_.get(), listen_fd, true);