]> Sergey Matveev's repositories - public-inbox.git/commit
daemon: re-enable SIGWINCH without setsid
authorEric Wong <e@80x24.org>
Fri, 29 Jul 2016 18:58:51 +0000 (18:58 +0000)
committerEric Wong <e@80x24.org>
Fri, 29 Jul 2016 19:17:04 +0000 (19:17 +0000)
commit87b61d1daa05bdcf9d810d1655e5abb45456e9a5
treec461cc63d9886cc5066efd053a2b32b3fda21cae
parent204f8891f47b172c9880916993c18e6b041f4b88
daemon: re-enable SIGWINCH without setsid

This allows systemd users to use SIGWINCH to temporarily
(and gracefully) stop an instance of a service without
doing a code reload to bring it back up:

# start temporary new service code
systemctl start public-inbox-nntpd@2.service

# momentarily paralyze original service
systemctl kill -s WINCH public-inbox-nntpd@1.service

if new_code_at_2_sucks
then
# restart original workers
systemctl kill -s HUP public-inbox-nntpd@1.service
else # new is better than old, replace original instance
systemctl restart public-inbox-nntpd@1.service
fi

# cleanup the temporary service
systemctl stop public-inbox-nntpd@2.service

This partially reverts commit 73d274e83b7d300f31e0cc1ceeacbf73c6c2a1e4
("daemon: disable SIGWINCH unless explicitly daemonized")
lib/PublicInbox/Daemon.pm