[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: e50d51ed9fcf53e1b38000c291c1db1abc9f815c Author: William Hubbs gmail com> AuthorDate: Wed Nov 29 22:10:02 2017 + Commit: William Hubbs gentoo org> CommitDate: Wed Nov 29 22:10:02 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=e50d51ed Update ChangeLog ChangeLog | 21 + 1 file changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index fa0b5f55..4c2d51cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +commit 97a254f599db622d34a0c1bbd3057d1a7050a468 +Author: Doug Freed +Commit: William Hubbs + +start-stop-daemon: properly handle missing pidfile + +X-Gentoo-Bug: 639218 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/639218 + +commit 1d20aa10e65c24f5b2d78a1b0a4ab77de5395aab +Author: William Hubbs +Commit: William Hubbs + +version 0.34.11 + +commit e92e81d9fec6e07d68692e29839b169cbda19505 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit bed1a4519295a86f7cc62a79604d73a8ae726103 Author: William Hubbs Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 1d20aa10e65c24f5b2d78a1b0a4ab77de5395aab Author: William Hubbs gmail com> AuthorDate: Wed Nov 29 21:52:30 2017 + Commit: William Hubbs gentoo org> CommitDate: Wed Nov 29 21:52:30 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=1d20aa10 version 0.34.11 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index bbb16636..ca1f6456 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.10 +VERSION= 0.34.11 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: 97a254f599db622d34a0c1bbd3057d1a7050a468 Author: Doug Freed mtu edu> AuthorDate: Wed Nov 29 20:10:39 2017 + Commit: William Hubbs gentoo org> CommitDate: Wed Nov 29 21:53:42 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=97a254f5 start-stop-daemon: properly handle missing pidfile X-Gentoo-Bug: 639218 X-Gentoo-Bug-URL: https://bugs.gentoo.org/639218 src/rc/start-stop-daemon.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c index e98f8ba3..54b89b2a 100644 --- a/src/rc/start-stop-daemon.c +++ b/src/rc/start-stop-daemon.c @@ -657,8 +657,15 @@ int main(int argc, char **argv) parse_schedule(applet, "0", sig); else parse_schedule(applet, NULL, sig); + if (pidfile) { + pid = get_pid(applet, pidfile); + if (pid == -1) + exit(EXIT_FAILURE); + } else { + pid = 0; + } i = run_stop_schedule(applet, exec, (const char *const *)margv, - get_pid(applet, pidfile), uid, test, progress, false); + pid, uid, test, progress, false); if (i < 0) /* We failed to stop something */
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: e92e81d9fec6e07d68692e29839b169cbda19505 Author: William Hubbs gmail com> AuthorDate: Mon Nov 27 19:06:18 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 27 19:06:18 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=e92e81d9 Update ChangeLog ChangeLog | 20 1 file changed, 20 insertions(+) diff --git a/ChangeLog b/ChangeLog index 06cf304f..fa0b5f55 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +commit bed1a4519295a86f7cc62a79604d73a8ae726103 +Author: William Hubbs +Commit: William Hubbs + +fix FreeBSD build + +This is for #186. + +commit 34d9dbf1e305cad9ddde094dbc905e9024e94992 +Author: William Hubbs +Commit: William Hubbs + +version 0.34.10 + +commit 0287aa65884e30f81a92c58d911048b00c878034 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit 1732c70fb5e6d75c0d104662d06169978c00a5e8 Author: Doug Freed Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 34d9dbf1e305cad9ddde094dbc905e9024e94992 Author: William Hubbs gmail com> AuthorDate: Mon Nov 27 18:49:28 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 27 18:49:28 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=34d9dbf1 version 0.34.10 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 2bfc333e..bbb16636 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.9 +VERSION= 0.34.10 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: bed1a4519295a86f7cc62a79604d73a8ae726103 Author: William Hubbs gmail com> AuthorDate: Mon Nov 27 17:09:43 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 27 18:49:44 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=bed1a451 fix FreeBSD build This is for #186. src/rc/supervise-daemon.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index f3f51ff0..06d0bdb3 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -159,7 +159,7 @@ static void cleanup(void) free(changeuser); } -static void re_exec(void) +static void re_exec_supervisor(void) { syslog(LOG_WARNING, "Re-executing for %s", svcname); execlp("supervise-daemon", "supervise-daemon", svcname, "--reexec", @@ -180,7 +180,7 @@ static void handle_signal(int sig) /* Restore errno */ errno = serrno; if (! exiting) - re_exec(); + re_exec_supervisor(); } static char * expand_home(const char *home, const char *path) @@ -435,7 +435,9 @@ static void supervisor(char *exec, char **argv) signal_setup_restart(SIGUSR1, handle_signal); signal_setup_restart(SIGUSR2, handle_signal); signal_setup_restart(SIGBUS, handle_signal); +#ifdef SIGPOLL signal_setup_restart(SIGPOLL, handle_signal); +#endif signal_setup_restart(SIGPROF, handle_signal); signal_setup_restart(SIGSYS, handle_signal); signal_setup_restart(SIGTRAP, handle_signal); @@ -446,7 +448,9 @@ static void supervisor(char *exec, char **argv) signal_setup_restart(SIGEMT, handle_signal); #endif signal_setup_restart(SIGIO, handle_signal); +#ifdef SIGPWR signal_setup_restart(SIGPWR, handle_signal); +#endif #ifdef SIGUNUSED signal_setup_restart(SIGUNUSED, handle_signal); #endif
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 0287aa65884e30f81a92c58d911048b00c878034 Author: William Hubbs gmail com> AuthorDate: Mon Nov 20 18:38:14 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 20 18:38:14 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=0287aa65 Update ChangeLog ChangeLog | 31 +++ 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index a9f02bb3..06cf304f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +commit 1732c70fb5e6d75c0d104662d06169978c00a5e8 +Author: Doug Freed +Commit: William Hubbs + +rc-schedules: if given nothing to look for, stop + +This avoids trying to kill everything. + +X-Gentoo-Bug: 631958 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=631958 + +commit 263dde90c28ccd5abb1a60b6ba1f5f8be508164a +Author: William Hubbs +Commit: William Hubbs + +version 0.34.9 + +commit 422795e2ceb723601e648f4f5cde55141c7e02f4 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit 00ad99a29223e1567752191e748822710e1042e6 Author: William Hubbs Commit: William Hubbs @@ -1638,11 +1661,3 @@ Commit: William Hubbs The openntmpfiles package is designed so that it can be used on systems independently of whether openrc is used. - -commit 6414c3bc394f86a5d6a5f02c934469e21bbbc923 -Author: Jason Zaman -Commit: William Hubbs - -selinux: fix SIGSEGV with invalid contexts - -Fixes: https://github.com/openrc/openrc/issues/104
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: 1732c70fb5e6d75c0d104662d06169978c00a5e8 Author: Doug Freed mtu edu> AuthorDate: Sun Nov 19 16:05:30 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 20 17:55:46 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=1732c70f rc-schedules: if given nothing to look for, stop This avoids trying to kill everything. X-Gentoo-Bug: 631958 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=631958 src/rc/rc-schedules.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rc/rc-schedules.c b/src/rc/rc-schedules.c index d60c2822..8f36f073 100644 --- a/src/rc/rc-schedules.c +++ b/src/rc/rc-schedules.c @@ -307,6 +307,9 @@ int run_stop_schedule(const char *applet, const char *const *p; bool progressed = false; + if (!(pid > 0 || exec || uid || (argv && *argv))) + return 0; + if (exec) einfov("Will stop %s", exec); if (pid > 0)
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 263dde90c28ccd5abb1a60b6ba1f5f8be508164a Author: William Hubbs gmail com> AuthorDate: Mon Nov 20 17:52:10 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 20 17:52:10 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=263dde90 version 0.34.9 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 29062753..2bfc333e 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.8 +VERSION= 0.34.9 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 422795e2ceb723601e648f4f5cde55141c7e02f4 Author: William Hubbs gmail com> AuthorDate: Thu Nov 16 22:34:44 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Nov 16 22:34:44 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=422795e2 Update ChangeLog ChangeLog | 22 ++ 1 file changed, 22 insertions(+) diff --git a/ChangeLog b/ChangeLog index dedcf3fd..a9f02bb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +commit 00ad99a29223e1567752191e748822710e1042e6 +Author: William Hubbs +Commit: William Hubbs + +s6 supervisor fixes + +Add the ability to force-kill a service if it does not go down +successfully. Also, adjust the default wait time for an s6 service to go +down to 60 seconds. + +commit f026c2c541f43eadbaed51b93379fdf56e1f1d0a +Author: William Hubbs +Commit: William Hubbs + +version 0.34.8 + +commit 4d20309ffeb5f0211957bbbc5c875dab434b5079 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit 65439ba023195786e71316f6638b52603e102f60 Author: William Hubbs Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: sh/, /, man/
commit: 00ad99a29223e1567752191e748822710e1042e6 Author: William Hubbs gmail com> AuthorDate: Thu Nov 16 21:35:35 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Nov 16 22:03:08 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=00ad99a2 s6 supervisor fixes Add the ability to force-kill a service if it does not go down successfully. Also, adjust the default wait time for an s6 service to go down to 60 seconds. man/openrc-run.8 | 5 - s6-guide.md | 4 sh/s6.sh | 20 +++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/man/openrc-run.8 b/man/openrc-run.8 index 471f63e5..3f4f7e81 100644 --- a/man/openrc-run.8 +++ b/man/openrc-run.8 @@ -111,9 +111,12 @@ The path to the s6 service directory if you are monitoring this service with S6. The default is /var/svc.d/${RC_SVCNAME}. .It Ar s6_svwait_options_start The options to pass to s6-svwait when starting the service via s6. +.It Ar s6_force_kill +Should we force-kill this service if s6_service_timeout_stop expires +but the service doesn't go down during shutdown? The default is yes. .It Ar s6_service_timeout_stop The amount of time, in milliseconds, s6-svc should wait for the service -to go down when stopping the service. The default is 1. +to go down when stopping the service. The default is 6. .It Ar start_stop_daemon_args List of arguments passed to start-stop-daemon when starting the daemon. .It Ar command diff --git a/s6-guide.md b/s6-guide.md index 52262b3c..bcc3ac28 100644 --- a/s6-guide.md +++ b/s6-guide.md @@ -39,6 +39,10 @@ s6_service_path - the path to the s6 service directory. The default is s6_svwait_options_start - the options to pass to s6-svwait when starting the service. If this is not set, s6-svwait will not be called. +s6_force_kill - Should we try to force kill this service if the +s6_service_timeout_stop timeout expires when shutting down this service? +The default is yes. + s6_service_timeout_stop - the amount of time, in milliseconds, s6-svc should wait for a service to go down when stopping. diff --git a/sh/s6.sh b/sh/s6.sh index d1b9c103..33c478ad 100644 --- a/sh/s6.sh +++ b/sh/s6.sh @@ -12,6 +12,20 @@ [ -z "${s6_service_path}" ] && s6_service_path="/var/svc.d/${RC_SVCNAME}" +_s6_force_kill() { + local pid + s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" + pid="${3%)}" + [ -z "${pid}" ] && return 0 + if kill -0 "${pid}" 2> /dev/null; then + ewarn "Sending DOWN & KILL for ${RC_SVCNAME}" + s6-svc -dk "${s6_service_link}" + sleep 1 + kill -0 "${pid}" 2>/dev/null && return 1 + fi + return 0 +} + s6_start() { if [ ! -d "${s6_service_path}" ]; then @@ -41,7 +55,11 @@ s6_stop() fi s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" ebegin "Stopping ${name:-$RC_SVCNAME}" - s6-svc -wD -d -T ${s6_service_timeout_stop:-1} "${s6_service_link}" + s6-svc -d -wD -T ${s6_service_timeout_stop:-6} "${s6_service_link}" + set -- $(s6-svstat "${s6_service_link}") + [ "$1" = "up" ] && + yesno "${s6_force_kill:-yes}" && + _s6_force_kill "$@" set -- $(s6-svstat "${s6_service_link}") [ "$1" = "down" ] eend $? "Failed to stop ${name:-$RC_SVCNAME}"
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: f026c2c541f43eadbaed51b93379fdf56e1f1d0a Author: William Hubbs gmail com> AuthorDate: Thu Nov 16 22:03:03 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Nov 16 22:03:03 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=f026c2c5 version 0.34.8 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 0421f4dc..29062753 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.7 +VERSION= 0.34.8 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: src/librc/
commit: 65439ba023195786e71316f6638b52603e102f60 Author: William Hubbs gmail com> AuthorDate: Mon Nov 13 22:54:57 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 13 23:47:56 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=65439ba0 rc_find_pids: namespace fix Ignore namespaces if there are errors reading either the pid namespace for the current process or the process we aare testing. This fixes https://github.com/openrc/openrc/issues/180. src/librc/librc-daemon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librc/librc-daemon.c b/src/librc/librc-daemon.c index 916cc142..a40150a6 100644 --- a/src/librc/librc-daemon.c +++ b/src/librc/librc-daemon.c @@ -155,7 +155,7 @@ rc_find_pids(const char *exec, const char *const *argv, uid_t uid, pid_t pid) if (rc <= 0) proc_ns[0] = '\0'; } - if (strcmp(my_ns, proc_ns)) + if (strlen(my_ns) && strlen (proc_ns) && strcmp(my_ns, proc_ns)) continue; if (uid) { snprintf(buffer, sizeof(buffer), "/proc/%d", p);
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 4d20309ffeb5f0211957bbbc5c875dab434b5079 Author: William Hubbs gmail com> AuthorDate: Mon Nov 13 23:54:52 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 13 23:54:52 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=4d20309f Update ChangeLog ChangeLog | 23 +++ 1 file changed, 23 insertions(+) diff --git a/ChangeLog b/ChangeLog index ec1142d8..dedcf3fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +commit 65439ba023195786e71316f6638b52603e102f60 +Author: William Hubbs +Commit: William Hubbs + +rc_find_pids: namespace fix + +Ignore namespaces if there are errors reading either the pid namespace +for the current process or the process we aare testing. + +This fixes https://github.com/openrc/openrc/issues/180. + +commit 86162f3f47c393fc173de0458eeeb322c0bb61f2 +Author: William Hubbs +Commit: William Hubbs + +version 0.34.7 + +commit b98e83ee9195eb052fafebc440515f0b2d055a91 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit d59197fafef164fe7319f9d87f544a8cc8e25044 Author: William Hubbs Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 86162f3f47c393fc173de0458eeeb322c0bb61f2 Author: William Hubbs gmail com> AuthorDate: Mon Nov 13 23:35:02 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Nov 13 23:35:02 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=86162f3f version 0.34.7 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 8fc131d3..0421f4dc 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.6 +VERSION= 0.34.7 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: b98e83ee9195eb052fafebc440515f0b2d055a91 Author: William Hubbs gmail com> AuthorDate: Tue Nov 7 22:01:08 2017 + Commit: William Hubbs gentoo org> CommitDate: Tue Nov 7 22:01:08 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=b98e83ee Update ChangeLog ChangeLog | 61 + 1 file changed, 21 insertions(+), 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8ec51db..ec1142d8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +commit d59197fafef164fe7319f9d87f544a8cc8e25044 +Author: William Hubbs +Commit: William Hubbs + +start-stop-daemon: do not use do_stop to verify whether a daemon is running + +X-Gentoo-Bug: 636574 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=636574 + +commit b66c86c9ee6d34d0a9d77140b8e7612709ba19d1 +Author: William Hubbs +Commit: William Hubbs + +version 0.34.6 + +commit f7eb236f6fd8c10af211c6667940e8e1650c12da +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit 1936d73eb1aecf31029d53e75e6bb14e307f8e1c Author: William Hubbs Commit: William Hubbs @@ -1580,43 +1601,3 @@ Commit: William Hubbs selinux: fix SIGSEGV with invalid contexts Fixes: https://github.com/openrc/openrc/issues/104 - -commit 4f9bd7e4db185ce6debbebb5242344d8ffadc3ae -Author: William Hubbs -Commit: William Hubbs - -init.d/loopback.in: drop the route to the loopback interface on Linux - -This is related to #103. - -commit bf539f2196290864ce5c5fd0d679b74ee016e2da -Author: William Hubbs -Commit: William Hubbs - -init.d/mount-ro: do not remount /usr read only if it is premounted - -X-Gentoo-Bug: 573760 -X-Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=573760 - -commit 20b60ea904612669dfb744beffcd8e7e447f69ef -Author: William Hubbs -Commit: William Hubbs - -conf.d/net-online: clarify comment about interfaces setting - -This setting refers to all interfaces that support ethernet - -commit f53c8baef3a6215077c00901759cbbcbe8f10e9b -Author: William Hubbs -Commit: William Hubbs - -init.d/net-online: remove interfaces and timeout from local declarations - -X-Gentoo-Bug: 598621 -X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=598621 - -commit be06cd250e12e63b8eb704bb2508e06fb9791251 -Author: William Hubbs -Commit: William Hubbs - -src/rc/rc: do not try to start services if fork fails
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: d59197fafef164fe7319f9d87f544a8cc8e25044 Author: William Hubbs gmail com> AuthorDate: Tue Nov 7 21:30:21 2017 + Commit: William Hubbs gentoo org> CommitDate: Tue Nov 7 21:38:11 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=d59197fa start-stop-daemon: do not use do_stop to verify whether a daemon is running X-Gentoo-Bug: 636574 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=636574 src/rc/start-stop-daemon.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c index dab8b3b1..e98f8ba3 100644 --- a/src/rc/start-stop-daemon.c +++ b/src/rc/start-stop-daemon.c @@ -279,6 +279,7 @@ int main(int argc, char **argv) int stdout_fd; int stderr_fd; pid_t pid, spid; + RC_PIDLIST *pids; int i; char *svcname = getenv("RC_SVCNAME"); RC_STRINGLIST *env_list; @@ -683,10 +684,14 @@ int main(int argc, char **argv) else pid = 0; - if (do_stop(applet, exec, (const char * const *)margv, pid, uid, - 0, test, false) > 0) + if (pid) + pids = rc_find_pids(NULL, NULL, 0, pid); + else + pids = rc_find_pids(exec, (const char * const *) argv, uid, 0); + if (pids) eerrorx("%s: %s is already running", applet, exec); + free(pids); if (test) { if (rc_yesno(getenv("EINFO_QUIET"))) exit (EXIT_SUCCESS);
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: f7eb236f6fd8c10af211c6667940e8e1650c12da Author: William Hubbs gmail com> AuthorDate: Mon Oct 30 23:23:40 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Oct 30 23:23:40 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=f7eb236f Update ChangeLog ChangeLog | 18 ++ 1 file changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index f0434048..a8ec51db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +commit 1936d73eb1aecf31029d53e75e6bb14e307f8e1c +Author: William Hubbs +Commit: William Hubbs + +fix issue with --reexec call + +commit 58872fc090af5047547bc561a5e58c50be0fc235 +Author: William Hubbs +Commit: William Hubbs + +version 0.34.5 + +commit fc35eb90cab625966ca718a80dd0d38dfffe05b8 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit b18be3f970eba04589977438faaa726b5c3a6cd2 Author: William Hubbs Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: 1936d73eb1aecf31029d53e75e6bb14e307f8e1c Author: William Hubbs gmail com> AuthorDate: Mon Oct 30 23:21:39 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Oct 30 23:23:11 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=1936d73e fix issue with --reexec call src/rc/supervise-daemon.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index 3989cbc7..f3f51ff0 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -162,7 +162,8 @@ static void cleanup(void) static void re_exec(void) { syslog(LOG_WARNING, "Re-executing for %s", svcname); - execlp("supervise-daemon", "supervise-daemon", "--reexec", (char *) NULL); + execlp("supervise-daemon", "supervise-daemon", svcname, "--reexec", + (char *) NULL); syslog(LOG_ERR, "Unable to execute supervise-daemon: %s", strerror(errno)); exit(EXIT_FAILURE);
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: b66c86c9ee6d34d0a9d77140b8e7612709ba19d1 Author: William Hubbs gmail com> AuthorDate: Tue Nov 7 21:37:43 2017 + Commit: William Hubbs gentoo org> CommitDate: Tue Nov 7 21:37:43 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=b66c86c9 version 0.34.6 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 66475805..8fc131d3 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.5 +VERSION= 0.34.6 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 58872fc090af5047547bc561a5e58c50be0fc235 Author: William Hubbs gmail com> AuthorDate: Mon Oct 30 23:23:00 2017 + Commit: William Hubbs gentoo org> CommitDate: Mon Oct 30 23:23:00 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=58872fc0 version 0.34.5 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 842bf12f..66475805 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.4 +VERSION= 0.34.5 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: bcfcf50562a081088248f693dfab62d3eab04efa Author: William Hubbs gmail com> AuthorDate: Fri Oct 27 15:46:46 2017 + Commit: William Hubbs gentoo org> CommitDate: Fri Oct 27 15:46:46 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=bcfcf505 version 0.34.4 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 05bf8260..842bf12f 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.3 +VERSION= 0.34.4 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: 93e159ae8541b82fd5e1843f60dce135e2eb5517 Author: William Hubbs gmail com> AuthorDate: Fri Oct 27 20:32:26 2017 + Commit: William Hubbs gentoo org> CommitDate: Fri Oct 27 20:32:26 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=93e159ae log as supervise-daemon not the service src/rc/supervise-daemon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index 3c3d7c7e..bf27ad18 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -561,7 +561,7 @@ int main(int argc, char **argv) applet = basename_c(argv[0]); atexit(cleanup); svcname = getenv("RC_SVCNAME"); - openlog(svcname, LOG_PID, LOG_DAEMON); + openlog(applet, LOG_PID, LOG_DAEMON); if ((tmp = getenv("SSD_NICELEVEL"))) if (sscanf(tmp, "%d", &nicelevel) != 1)
[gentoo-commits] proj/openrc:0.34.x commit in: sh/, src/rc/
commit: b18be3f970eba04589977438faaa726b5c3a6cd2 Author: William Hubbs gmail com> AuthorDate: Sat Oct 28 00:22:09 2017 + Commit: William Hubbs gentoo org> CommitDate: Sat Oct 28 00:25:40 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=b18be3f9 supervise-daemon: use RC_SVCNAME as the first argument to the daemon This makes ps show which service the supervisor is monitoring. sh/supervise-daemon.sh| 4 ++-- src/rc/supervise-daemon.c | 24 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/sh/supervise-daemon.sh b/sh/supervise-daemon.sh index e5d8d461..f6e599d5 100644 --- a/sh/supervise-daemon.sh +++ b/sh/supervise-daemon.sh @@ -22,7 +22,7 @@ supervise_start() # The eval call is necessary for cases like: # command_args="this \"is a\" test" # to work properly. - eval supervise-daemon --start \ + eval supervise-daemon "${RC_SVCNAME}" --start \ ${retry:+--retry} $retry \ ${chroot:+--chroot} $chroot \ ${pidfile:+--pidfile} $pidfile \ @@ -49,7 +49,7 @@ supervise_stop() pidfile="${startpidfile:-$pidfile}" [ -n "$pidfile" ] || return 0 ebegin "Stopping ${name:-$RC_SVCNAME}" - supervise-daemon --stop \ + supervise-daemon "${RC_SVCNAME}" --stop \ ${pidfile:+--pidfile} $chroot$pidfile \ ${stopsig:+--signal} $stopsig diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index 1d0c3407..3989cbc7 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -561,8 +561,13 @@ int main(int argc, char **argv) applet = basename_c(argv[0]); atexit(cleanup); svcname = getenv("RC_SVCNAME"); + if (!svcname) + eerrorx("%s: The RC_SVCNAME environment variable is not set", applet); openlog(applet, LOG_PID, LOG_DAEMON); + if (argc >= 1 && svcname && strcmp(argv[1], svcname)) + eerrorx("%s: the first argument must be %s", applet, svcname); + if ((tmp = getenv("SSD_NICELEVEL"))) if (sscanf(tmp, "%d", &nicelevel) != 1) eerror("%s: invalid nice level `%s' (SSD_NICELEVEL)", @@ -583,6 +588,17 @@ int main(int argc, char **argv) } } + *cmdline = '\0'; + c = argv; + while (c && *c) { + strcat(cmdline, *c); + strcat(cmdline, " "); + c++; + } + if (svcname) { + argc--; + argv++; + } while ((opt = getopt_long(argc, argv, getoptstring, longopts, (int *) 0)) != -1) switch (opt) { @@ -721,14 +737,6 @@ int main(int argc, char **argv) if (!pidfile && !reexec) eerrorx("%s: --pidfile must be specified", applet); - - *cmdline = '\0'; - c = argv; - while (c && *c) { - strcat(cmdline, *c); - strcat(cmdline, " "); - c++; - } endpwent(); argc -= optind; argv += optind;
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: fc35eb90cab625966ca718a80dd0d38dfffe05b8 Author: William Hubbs gmail com> AuthorDate: Sat Oct 28 00:28:31 2017 + Commit: William Hubbs gentoo org> CommitDate: Sat Oct 28 00:28:31 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=fc35eb90 Update ChangeLog ChangeLog | 32 1 file changed, 32 insertions(+) diff --git a/ChangeLog b/ChangeLog index b9fb8b78..f0434048 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,35 @@ +commit b18be3f970eba04589977438faaa726b5c3a6cd2 +Author: William Hubbs +Commit: William Hubbs + +supervise-daemon: use RC_SVCNAME as the first argument to the daemon + +This makes ps show which service the supervisor is monitoring. + +commit 027438f7759dbbc19ac1bedeff3f502c891e4d4e +Author: William Hubbs +Commit: William Hubbs + +supervise-daemon: fix logging for reexec and the child command line + +commit 93e159ae8541b82fd5e1843f60dce135e2eb5517 +Author: William Hubbs +Commit: William Hubbs + +log as supervise-daemon not the service + +commit bcfcf50562a081088248f693dfab62d3eab04efa +Author: William Hubbs +Commit: William Hubbs + +version 0.34.4 + +commit d0097cc10f8701de1b6a5665c54abf909e897233 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit eecf868e3c4a763b08cd4b3803f4839e8e710413 Author: William Hubbs Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: 027438f7759dbbc19ac1bedeff3f502c891e4d4e Author: William Hubbs gmail com> AuthorDate: Fri Oct 27 22:34:29 2017 + Commit: William Hubbs gentoo org> CommitDate: Fri Oct 27 22:36:56 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=027438f7 supervise-daemon: fix logging for reexec and the child command line src/rc/supervise-daemon.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index bf27ad18..1d0c3407 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -161,7 +161,7 @@ static void cleanup(void) static void re_exec(void) { - syslog(LOG_WARNING, "Re-executing supervise-daemon"); + syslog(LOG_WARNING, "Re-executing for %s", svcname); execlp("supervise-daemon", "supervise-daemon", "--reexec", (char *) NULL); syslog(LOG_ERR, "Unable to execute supervise-daemon: %s", strerror(errno)); @@ -402,7 +402,7 @@ static void child_process(char *exec, char **argv) strcat(cmdline, " "); c++; } - syslog(LOG_INFO, "Running command line: %s", cmdline); + syslog(LOG_INFO, "Child command line: %s", cmdline); execvp(exec, argv); #ifdef HAVE_PAM
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: eecf868e3c4a763b08cd4b3803f4839e8e710413 Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 19:15:40 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 19:15:40 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=eecf868e supervise-daemon: clarify a log message src/rc/supervise-daemon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index abb4a59e..3c3d7c7e 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -826,7 +826,7 @@ int main(int argc, char **argv) parse_schedule(applet, NULL, sig); einfov("Detaching to start `%s'", exec); - syslog(LOG_INFO, "Running command line: %s", cmdline); + syslog(LOG_INFO, "Supervisor command line: %s", cmdline); /* Remove existing pidfile */ if (pidfile)
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: d0097cc10f8701de1b6a5665c54abf909e897233 Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 19:16:36 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 19:16:36 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=d0097cc1 Update ChangeLog ChangeLog | 12 1 file changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4749750a..b9fb8b78 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +commit eecf868e3c4a763b08cd4b3803f4839e8e710413 +Author: William Hubbs +Commit: William Hubbs + +supervise-daemon: clarify a log message + +commit a5cd486a7fbb5acf8e8f3085500fd86c23dd8641 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit 6e6b4ac5fa935eb8052d293f2b8378e0395572e1 Author: William Hubbs Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: a5cd486a7fbb5acf8e8f3085500fd86c23dd8641 Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 19:03:55 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 19:03:55 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=a5cd486a Update ChangeLog ChangeLog | 65 +++ 1 file changed, 65 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0cbe56be..4749750a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,68 @@ +commit 6e6b4ac5fa935eb8052d293f2b8378e0395572e1 +Author: William Hubbs +Commit: William Hubbs + +supervise-daemon: log the command line we run to spawn the child process + +commit 558ff4d5fb90b751ebc2852ea907873af2c236fa +Author: William Hubbs +Commit: William Hubbs + +supervise-daemon: log with the service name instead of "supervise-daemon" + +commit 490f855aef581a720c6c0be0d8407fe6d279f9f5 +Author: William Hubbs +Commit: William Hubbs + +implement "unsupervised" status + +The unsupervised status is to be used when a supervisor of a supervised +service dies but leaves the service daemon itself running. + +commit d1491e201d3ad364e25a55b29ff8035775a6acac +Author: William Hubbs +Commit: William Hubbs + +supervise-daemon: remove child_pid from saved options during shutdown + +This allows us to detect when the supervisor dies unexpectedly because +in that case child_pid will still exist. + +commit 3231af937590b1c00af1a459009472a371aeb04a +Author: William Hubbs +Commit: William Hubbs + +rc_service_value_set: remove the option if NULL is the value + +This allows the equivalent of "unsetting" a value for a service. + +commit a5758e7aeffbeb9766ba3055a3fc347f0ccd3d35 +Author: William Hubbs +Commit: William Hubbs + +supervise-daemon.sh: fix status function with no namespaces + +commit 61a9393ce12fda412bdca4002ac71e7df82384df +Author: Patrick McLean +Commit: William Hubbs + +cgroups_cleanup: clean up shutdown signaling + +- do not sleep for the full 90 seconds if processes are dead +- re-arrange the order of signals we attempt to send to the processes + +commit 161d22cb074ecef7003e19682d72a8ee61c14490 +Author: William Hubbs +Commit: William Hubbs + +version 0.34.3 + +commit 3a96ca1c966c3cc44a2e0e51b383ab47d078bcc1 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit 934530914bd507476b428d3f6572bbb1c5bbfd16 Author: William Hubbs Commit: William Hubbs
[gentoo-commits] proj/openrc:0.34.x commit in: sh/
commit: 61a9393ce12fda412bdca4002ac71e7df82384df Author: Patrick McLean gentoo org> AuthorDate: Thu Oct 26 02:19:15 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 18:18:16 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=61a9393c cgroups_cleanup: clean up shutdown signaling - do not sleep for the full 90 seconds if processes are dead - re-arrange the order of signals we attempt to send to the processes sh/rc-cgroup.sh.in | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sh/rc-cgroup.sh.in b/sh/rc-cgroup.sh.in index d48957ac..5bc7db54 100644 --- a/sh/rc-cgroup.sh.in +++ b/sh/rc-cgroup.sh.in @@ -203,15 +203,21 @@ cgroup_cleanup() { cgroup_running || return 0 ebegin "starting cgroups cleanup" - local pids + local pids loops=0 pids="$(cgroup_get_pids)" if [ -n "${pids}" ]; then - kill -s "${stopsig:-TERM}" ${pids} 2> /dev/null kill -s CONT ${pids} 2> /dev/null + kill -s "${stopsig:-TERM}" ${pids} 2> /dev/null yesno "${rc_send_sighup:-no}" && kill -s HUP ${pids} 2> /dev/null - sleep "${rc_timeout_stopsec:-90}" - yesno "${rc_send_sigkill:-yes}" && + kill -s "${stopsig:-TERM}" ${pids} 2> /dev/null + while [ -n "$(cgroup_get_pids)" ] && + [ "${loops}" -lt "${rc_timeout_stopsec:-90}" ]; do + loops=$((loops+1)) + sleep 1 + done + pids="$(cgroup_get_pids)" + [ -n "${pids}" ] && yesno "${rc_send_sigkill:-yes}" && kill -s KILL ${pids} 2> /dev/null fi cgroup2_remove
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/, sh/
commit: 490f855aef581a720c6c0be0d8407fe6d279f9f5 Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 18:11:12 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 18:18:16 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=490f855a implement "unsupervised" status The unsupervised status is to be used when a supervisor of a supervised service dies but leaves the service daemon itself running. sh/supervise-daemon.sh | 21 + src/rc/rc-status.c | 11 ++- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/sh/supervise-daemon.sh b/sh/supervise-daemon.sh index d2cfe932..e5d8d461 100644 --- a/sh/supervise-daemon.sh +++ b/sh/supervise-daemon.sh @@ -58,22 +58,11 @@ supervise_stop() _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 - else - return 1 - fi - fi + local child_pid start_time + child_pid="$(service_get_value "child_pid")" + start_time="$(service_get_value "start_time")" + if [ -n "${child_pid}" ] && [ -n "${start_time}" ]; then + return 1 fi return 0 } diff --git a/src/rc/rc-status.c b/src/rc/rc-status.c index 9a094d47..d29f876a 100644 --- a/src/rc/rc-status.c +++ b/src/rc/rc-status.c @@ -128,6 +128,8 @@ print_service(const char *service) { char status[60]; char uptime [40]; + char *child_pid = NULL; + char *start_time = NULL; int cols = printf(" %s", service); const char *c = ecolor(ECOLOR_GOOD); RC_SERVICE state = rc_service_state(service); @@ -147,7 +149,14 @@ print_service(const char *service) rc_service_daemons_crashed(service) && errno != EACCES) { - snprintf(status, sizeof(status), " crashed "); + child_pid = rc_service_value_get(service, "child_pid"); + start_time = rc_service_value_get(service, "start_time"); + if (start_time && child_pid) + snprintf(status, sizeof(status), " unsupervised "); + else + snprintf(status, sizeof(status), " crashed "); + free(child_pid); + free(start_time); } else { get_uptime(service, uptime, 40); snprintf(status, sizeof(status), " started %s", uptime);
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: 6e6b4ac5fa935eb8052d293f2b8378e0395572e1 Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 18:57:04 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 19:01:07 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=6e6b4ac5 supervise-daemon: log the command line we run to spawn the child process src/rc/supervise-daemon.c | 9 + 1 file changed, 9 insertions(+) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index 6c3c55bf..abb4a59e 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -556,6 +556,7 @@ int main(int argc, char **argv) int child_argc = 0; char **child_argv = NULL; char *str = NULL; + char cmdline[PATH_MAX]; applet = basename_c(argv[0]); atexit(cleanup); @@ -721,6 +722,13 @@ int main(int argc, char **argv) if (!pidfile && !reexec) eerrorx("%s: --pidfile must be specified", applet); + *cmdline = '\0'; + c = argv; + while (c && *c) { + strcat(cmdline, *c); + strcat(cmdline, " "); + c++; + } endpwent(); argc -= optind; argv += optind; @@ -818,6 +826,7 @@ int main(int argc, char **argv) parse_schedule(applet, NULL, sig); einfov("Detaching to start `%s'", exec); + syslog(LOG_INFO, "Running command line: %s", cmdline); /* Remove existing pidfile */ if (pidfile)
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: d1491e201d3ad364e25a55b29ff8035775a6acac Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 17:58:59 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 18:18:16 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=d1491e20 supervise-daemon: remove child_pid from saved options during shutdown This allows us to detect when the supervisor dies unexpectedly because in that case child_pid will still exist. src/rc/supervise-daemon.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index 998a01bc..b232e215 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -523,6 +523,7 @@ static void supervisor(char *exec, char **argv) rc_service_daemon_set(svcname, exec, (const char *const *)argv, pidfile, false); rc_service_mark(svcname, RC_SERVICE_STOPPED); + rc_service_value_set(svcname, "child_pid", NULL); } exit(EXIT_SUCCESS); }
[gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
commit: 558ff4d5fb90b751ebc2852ea907873af2c236fa Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 18:36:41 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 19:01:07 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=558ff4d5 supervise-daemon: log with the service name instead of "supervise-daemon" src/rc/supervise-daemon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index b232e215..6c3c55bf 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -420,7 +420,6 @@ static void supervisor(char *exec, char **argv) time_t respawn_now= 0; time_t first_spawn= 0; - openlog(applet, LOG_PID, LOG_DAEMON); #ifndef RC_DEBUG signal_setup_restart(SIGHUP, handle_signal); signal_setup_restart(SIGINT, handle_signal); @@ -561,6 +560,7 @@ int main(int argc, char **argv) applet = basename_c(argv[0]); atexit(cleanup); svcname = getenv("RC_SVCNAME"); + openlog(svcname, LOG_PID, LOG_DAEMON); if ((tmp = getenv("SSD_NICELEVEL"))) if (sscanf(tmp, "%d", &nicelevel) != 1)
[gentoo-commits] proj/openrc:0.34.x commit in: src/librc/
commit: 3231af937590b1c00af1a459009472a371aeb04a Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 17:54:37 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 18:18:16 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=3231af93 rc_service_value_set: remove the option if NULL is the value This allows the equivalent of "unsetting" a value for a service. src/librc/librc.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/librc/librc.c b/src/librc/librc.c index 84c76b5a..ee65b00a 100644 --- a/src/librc/librc.c +++ b/src/librc/librc.c @@ -894,12 +894,15 @@ rc_service_value_set(const char *service, const char *option, return false; snprintf(p, sizeof(file) - (p - file), "/%s", option); - if (!(fp = fopen(file, "w"))) - return false; - if (value) + if (value) { + if (!(fp = fopen(file, "w"))) + return false; fprintf(fp, "%s", value); - fclose(fp); - return true; + fclose(fp); + } else { + unlink(file); + } + return true; } librc_hidden_def(rc_service_value_set)
[gentoo-commits] proj/openrc:0.34.x commit in: sh/
commit: a5758e7aeffbeb9766ba3055a3fc347f0ccd3d35 Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 02:20:15 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 18:18:16 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=a5758e7a supervise-daemon.sh: fix status function with no namespaces sh/supervise-daemon.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sh/supervise-daemon.sh b/sh/supervise-daemon.sh index bccfd06a..d2cfe932 100644 --- a/sh/supervise-daemon.sh +++ b/sh/supervise-daemon.sh @@ -70,6 +70,8 @@ _check_supervised() if [ "${n1}" = "${n2}" ]; then return 1 fi + else + return 1 fi fi fi
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 161d22cb074ecef7003e19682d72a8ee61c14490 Author: William Hubbs gmail com> AuthorDate: Thu Oct 26 18:17:54 2017 + Commit: William Hubbs gentoo org> CommitDate: Thu Oct 26 18:17:54 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=161d22cb version 0.34.3 Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.inc b/Makefile.inc index 041daef0..05bf8260 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -1,3 +1,3 @@ NAME= openrc -VERSION= 0.34.2 +VERSION= 0.34.3 PKG= ${NAME}-${VERSION}
[gentoo-commits] proj/openrc:0.34.x commit in: /
commit: 3a96ca1c966c3cc44a2e0e51b383ab47d078bcc1 Author: William Hubbs gmail com> AuthorDate: Wed Oct 25 20:15:53 2017 + Commit: William Hubbs gentoo org> CommitDate: Wed Oct 25 20:15:53 2017 + URL:https://gitweb.gentoo.org/proj/openrc.git/commit/?id=3a96ca1c Update ChangeLog ChangeLog | 39 --- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index ea893f4d..0cbe56be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +commit 934530914bd507476b428d3f6572bbb1c5bbfd16 +Author: William Hubbs +Commit: William Hubbs + +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 +Commit: William Hubbs + +version 0.34.2 + +commit b47539613431521e5e99bc388e6a9d8eb0e48801 +Author: William Hubbs +Commit: William Hubbs + +Update ChangeLog + commit e7b1d898ca7896d6443ba1e5167eb6bcf3f92929 Author: William Hubbs Commit: William Hubbs @@ -1469,18 +1493,3 @@ Author: William Hubbs Commit: William Hubbs src/rc/rc: do not try to start services if fork fails - -commit 003657c973ea338a19f2b7294190af9d76cf5cea -Author: Robin H. Johnson -Commit: William Hubbs - -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