Compare commits

...

6 Commits
0.35 ... 0.34.2

Author SHA1 Message Date
William Hubbs
3a96ca1c96 Update ChangeLog 2017-10-25 15:15:53 -05:00
William Hubbs
934530914b add "unsupervised" status and return code 64 to supervise-daemon status function
This is to be used if the service is being supervised and the
supervisor is somehow killed.

Currently, this is very linux specific, but I will expand to other
platforms, patches are welcome.
2017-10-25 15:14:33 -05:00
William Hubbs
b717625cd2 version 0.34.2 2017-10-25 15:13:09 -05:00
William Hubbs
b475396134 Update ChangeLog 2017-10-24 17:02:45 -05:00
William Hubbs
e7b1d898ca supervise-daemon: fix build issue for >=glibc-2.26
X-Gentoo-Bug: 635334
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=635334
2017-10-24 17:02:14 -05:00
William Hubbs
5cd09a6f44 version 0.34.1 2017-10-24 17:00:57 -05:00
4 changed files with 92 additions and 26 deletions

View File

@@ -1,3 +1,48 @@
commit 934530914bd507476b428d3f6572bbb1c5bbfd16
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
add "unsupervised" status and return code 64 to supervise-daemon status function
This is to be used if the service is being supervised and the
supervisor is somehow killed.
Currently, this is very linux specific, but I will expand to other
platforms, patches are welcome.
commit b717625cd27950c3f00b5345bc1cee9700e79498
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
version 0.34.2
commit b47539613431521e5e99bc388e6a9d8eb0e48801
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Update ChangeLog
commit e7b1d898ca7896d6443ba1e5167eb6bcf3f92929
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
supervise-daemon: fix build issue for >=glibc-2.26
X-Gentoo-Bug: 635334
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=635334
commit 5cd09a6f44aa7d16ab7de1453e37d01448426031
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
version 0.34.1
commit f3c70bf5b5aa18e8dc94d4949f05568e0741c5cb
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Update ChangeLog
commit f5acc66db7d1a0bfad6a40eefc0240b80f52df94
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
@@ -1448,27 +1493,3 @@ Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
src/rc/rc: do not try to start services if fork fails
commit 003657c973ea338a19f2b7294190af9d76cf5cea
Author: Robin H. Johnson <robbat2@gentoo.org>
Commit: William Hubbs <w.d.hubbs@gmail.com>
init.d/loopback: drop scope on loopback
Busybox does not support the 'scope' argument on 'ip address add' or 'ip
route add', this is documented in BUSYBOX.md, but is no longer actually
needed, as the kernel does get it right without manual specification,
and the ifconfig variant already relies on the kernel to get it right.
This is part of #103.
X-Gentoo-Bug: 487208
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=487208
commit 4fd144c0a6526963c70f18cb34a65354c2f0a48c
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
src/rc/rc-misc.c: report error if call to flock() fails
X-Gentoo-Bug: 597390
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=597390

View File

@@ -1,3 +1,3 @@
NAME= openrc
VERSION= 0.34
VERSION= 0.34.2
PKG= ${NAME}-${VERSION}

View File

@@ -56,7 +56,50 @@ supervise_stop()
eend $? "Failed to stop ${name:-$RC_SVCNAME}"
}
_check_supervised()
{
[ "$RC_UNAME" != Linux ] && return 0
local child_pid="$(service_get_value "child_pid")"
local pid="$(cat ${pidfile})"
if [ -n "${child_pid}" ]; then
if ! [ -e "/proc/${pid}" ] && [ -e "/proc/${child_pid}" ]; then
if [ -e "/proc/self/ns/pid" ] && [ -e "/proc/${child_pid}/ns/pid" ]; then
local n1 n2
n1=$(readlink "/proc/self/ns/pid")
n2=$(readlink "/proc/${child_pid}/ns/pid")
if [ "${n1}" = "${n2}" ]; then
return 1
fi
fi
fi
fi
return 0
}
supervise_status()
{
_status
if service_stopping; then
ewarn "status: stopping"
return 4
elif service_starting; then
ewarn "status: starting"
return 8
elif service_inactive; then
ewarn "status: inactive"
return 16
elif service_started; then
if service_crashed; then
if ! _check_supervised; then
eerror "status: unsupervised"
return 64
fi
eerror "status: crashed"
return 32
fi
einfo "status: started"
return 0
else
einfo "status: stopped"
return 3
fi
}

View File

@@ -447,7 +447,9 @@ static void supervisor(char *exec, char **argv)
#endif
signal_setup_restart(SIGIO, handle_signal);
signal_setup_restart(SIGPWR, handle_signal);
#ifdef SIGUNUSED
signal_setup_restart(SIGUNUSED, handle_signal);
#endif
#ifdef SIGRTMIN
for (i = SIGRTMIN; i <= SIGRTMAX; i++)
signal_setup_restart(i, handle_signal);