about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-06-13 22:56:27 +0000
committerEric Wong <e@80x24.org>2016-06-13 23:00:04 +0000
commit37bf2db81bbbe114d7fc5a00e30d3d5a6fa74de5 (patch)
tree35b0f7b3f5e2affcf7da9c6147ed89776f710085
parent31afda256c813443062e0504213d41732e50ee45 (diff)
downloadpublic-inbox-37bf2db81bbbe114d7fc5a00e30d3d5a6fa74de5.tar.gz
For our daemons, killing only the master process is enough.
Killing the entire control group (as done by default in
systemd) may cause subprocesses such as git to shut down
unexpectedly.

Having systemd kill workers directly will also cause an
immediate shutdown since the master would've already signaled
the workers; and workers will die after two shutdown requests.
-rw-r--r--examples/public-inbox-httpd@.service1
-rw-r--r--examples/public-inbox-nntpd@.service1
-rw-r--r--examples/unsubscribe-psgi@.service1
3 files changed, 3 insertions, 0 deletions
diff --git a/examples/public-inbox-httpd@.service b/examples/public-inbox-httpd@.service
index 3bb70726..6222de59 100644
--- a/examples/public-inbox-httpd@.service
+++ b/examples/public-inbox-httpd@.service
@@ -24,6 +24,7 @@ User = nobody
 Group = nogroup
 ExecReload = /bin/kill -HUP $MAINPID
 TimeoutStopSec = 3600
+KillMode = process
 
 [Install]
 WantedBy = multi-user.target
diff --git a/examples/public-inbox-nntpd@.service b/examples/public-inbox-nntpd@.service
index 078e920a..3e203e0b 100644
--- a/examples/public-inbox-nntpd@.service
+++ b/examples/public-inbox-nntpd@.service
@@ -26,6 +26,7 @@ User = nobody
 Group = nogroup
 ExecReload = /bin/kill -HUP $MAINPID
 TimeoutStopSec = 3600
+KillMode = process
 
 [Install]
 WantedBy = multi-user.target
diff --git a/examples/unsubscribe-psgi@.service b/examples/unsubscribe-psgi@.service
index 2dc4270f..acc29e8e 100644
--- a/examples/unsubscribe-psgi@.service
+++ b/examples/unsubscribe-psgi@.service
@@ -15,6 +15,7 @@ ExecStart = /usr/local/bin/public-inbox-httpd -W0 /etc/unsubscribe.psgi
 Sockets = unsubscribe-psgi.socket
 # we need to modify the mlmmj spool
 User = mlmmj
+KillMode = process
 
 [Install]
 WantedBy = multi-user.target