INN 2.6.4 release candidate
Marco d'Itri
md at Linux.IT
Sun Jan 10 00:28:31 UTC 2021
Sorry, I forgot that this patch or something to the same effect is
needed to make systemd notifications (and future socket activation)
work.
The reason is that systemd will only accept notifications from the
child process it spawned, so we need innd to be exec'ed by rc.news.
Without this patch inn will be stopped after one minute with messages
like:
Jan 10 01:10:26 erode systemd[1]: inn2.service: Got notification message from PID 23629, but reception only permitted for main PID which is currently not known
Jan 10 01:11:23 erode systemd[1]: inn2.service: Failed with result 'protocol'.
Jan 10 01:11:23 erode systemd[1]: Failed to start InterNetNews.
--
ciao,
Marco
-------------- next part --------------
--- a/scripts/rc.news.in
+++ b/scripts/rc.news.in
@@ -157,8 +157,12 @@ if [ "$OVMETHOD" = "ovdb" ]; then
fi
## Start the show.
+## When using systemd, the daemon must be started last with exec to keep
+## the same PID of this script.
+if [ -z "$NOTIFY_SOCKET" -a -z "$LISTEN_PID" ]; then
echo 'Starting innd.'
eval ${WHAT} ${RFLAG} ${INNFLAGS}
+fi
# Gee, looks like lisp, doesn't it?
${DOINNWATCH} && {
@@ -188,3 +192,9 @@ done &
if [ -f ${PATHBIN}/rc.news.local ] ; then
${PATHBIN}/rc.news.local start
fi
+
+if [ "$NOTIFY_SOCKET" -o "$LISTEN_PID" ]; then
+ echo 'Starting innd.'
+ eval exec ${WHAT} -f ${RFLAG} ${INNFLAGS}
+fi
+
More information about the inn-workers
mailing list