diff options
author | louiz’ <louiz@louiz.org> | 2018-05-06 12:11:51 +0200 |
---|---|---|
committer | louiz’ <louiz@louiz.org> | 2018-05-06 12:13:09 +0200 |
commit | ed36c26598892c60c6d2c9a096f536cc1f4705cc (patch) | |
tree | e14c2da07123fb64d4698dc13817fea2a9c1f82b | |
parent | edcd80cca12b45bd79a631f6c421a6cfce9c17f6 (diff) | |
download | biboumi-ed36c26598892c60c6d2c9a096f536cc1f4705cc.tar.gz biboumi-ed36c26598892c60c6d2c9a096f536cc1f4705cc.tar.bz2 biboumi-ed36c26598892c60c6d2c9a096f536cc1f4705cc.tar.xz biboumi-ed36c26598892c60c6d2c9a096f536cc1f4705cc.zip |
Also handle SIGHUP to reload the configuration
Because that’s what is typically done on other deamons, and we don’t want to
suprise users.
-rw-r--r-- | CHANGELOG.rst | 2 | ||||
-rw-r--r-- | doc/biboumi.1.rst | 8 | ||||
-rw-r--r-- | src/main.cpp | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 63b594f..5f65bfc 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,8 @@ Version 9.0 =========== +- SIGHUP is now caught and reloads the configuration like SIGUSR1 and 2. + Version 8.0 - 2018-05-02 ======================== diff --git a/doc/biboumi.1.rst b/doc/biboumi.1.rst index 03e8a36..5d6facc 100644 --- a/doc/biboumi.1.rst +++ b/doc/biboumi.1.rst @@ -42,10 +42,10 @@ variables, with the name all in upper case and prefixed with "BIBOUMI_". For example, if the environment contains “BIBOUMI_PASSWORD=blah", this will override the value of the “password” option in the configuration file. -Sending SIGUSR1 or SIGUSR2 (see kill(1)) to the process will force it to -re-read the configuration and make it close and re-open the log files. You -can use this to change any configuration option at runtime, or do a log -rotation. +Sending SIGUSR1, SIGUSR2 or SIGHUP (see kill(1)) to the process will force +it to re-read the configuration and make it close and re-open the log +files. You can use this to change any configuration option at runtime, or +do a log rotation. Here is a description of every possible option: diff --git a/src/main.cpp b/src/main.cpp index 59fda4e..09adc5c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -103,6 +103,7 @@ int main(int ac, char** av) sigaddset(&mask, SIGTERM); sigaddset(&mask, SIGUSR1); sigaddset(&mask, SIGUSR2); + sigaddset(&mask, SIGHUP); sigprocmask(SIG_BLOCK, &mask, nullptr); // Install the signals used to exit the process cleanly, or reload the @@ -124,6 +125,7 @@ int main(int ac, char** av) on_sigusr.sa_flags = 0; sigaction(SIGUSR1, &on_sigusr, nullptr); sigaction(SIGUSR2, &on_sigusr, nullptr); + sigaction(SIGHUP, &on_sigusr, nullptr); auto p = std::make_shared<Poller>(); |