public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-10-26 19:01 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-10-26 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     558ff4d5fb90b751ebc2852ea907873af2c236fa
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Thu Oct 26 18:36:41 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 19:01:07 2017 +0000
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)


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-10-26 19:01 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-10-26 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     d1491e201d3ad364e25a55b29ff8035775a6acac
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Thu Oct 26 17:58:59 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 18:18:16 2017 +0000
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);
 }


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-10-26 19:01 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-10-26 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     6e6b4ac5fa935eb8052d293f2b8378e0395572e1
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Thu Oct 26 18:57:04 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 19:01:07 2017 +0000
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)


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-10-26 19:19 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-10-26 19:19 UTC (permalink / raw
  To: gentoo-commits

commit:     eecf868e3c4a763b08cd4b3803f4839e8e710413
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Thu Oct 26 19:15:40 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 19:15:40 2017 +0000
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)


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-10-28  0:29 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-10-28  0:29 UTC (permalink / raw
  To: gentoo-commits

commit:     027438f7759dbbc19ac1bedeff3f502c891e4d4e
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Fri Oct 27 22:34:29 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri Oct 27 22:36:56 2017 +0000
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


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-10-28  0:29 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-10-28  0:29 UTC (permalink / raw
  To: gentoo-commits

commit:     93e159ae8541b82fd5e1843f60dce135e2eb5517
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Fri Oct 27 20:32:26 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri Oct 27 20:32:26 2017 +0000
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)


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-11-07 21:39 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-11-07 21:39 UTC (permalink / raw
  To: gentoo-commits

commit:     1936d73eb1aecf31029d53e75e6bb14e307f8e1c
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Mon Oct 30 23:21:39 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Oct 30 23:23:11 2017 +0000
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);


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-11-07 21:39 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-11-07 21:39 UTC (permalink / raw
  To: gentoo-commits

commit:     d59197fafef164fe7319f9d87f544a8cc8e25044
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Tue Nov  7 21:30:21 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue Nov  7 21:38:11 2017 +0000
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);


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-11-20 17:56 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-11-20 17:56 UTC (permalink / raw
  To: gentoo-commits

commit:     1732c70fb5e6d75c0d104662d06169978c00a5e8
Author:     Doug Freed <dwfreed <AT> mtu <DOT> edu>
AuthorDate: Sun Nov 19 16:05:30 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Nov 20 17:55:46 2017 +0000
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)


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-11-27 19:09 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-11-27 19:09 UTC (permalink / raw
  To: gentoo-commits

commit:     bed1a4519295a86f7cc62a79604d73a8ae726103
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Mon Nov 27 17:09:43 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Nov 27 18:49:44 2017 +0000
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


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/
@ 2017-11-29 22:10 William Hubbs
  0 siblings, 0 replies; 11+ messages in thread
From: William Hubbs @ 2017-11-29 22:10 UTC (permalink / raw
  To: gentoo-commits

commit:     97a254f599db622d34a0c1bbd3057d1a7050a468
Author:     Doug Freed <dwfreed <AT> mtu <DOT> edu>
AuthorDate: Wed Nov 29 20:10:39 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Wed Nov 29 21:53:42 2017 +0000
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 */


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-11-29 22:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-26 19:01 [gentoo-commits] proj/openrc:0.34.x commit in: src/rc/ William Hubbs
  -- strict thread matches above, loose matches on Subject: below --
2017-10-26 19:01 William Hubbs
2017-10-26 19:01 William Hubbs
2017-10-26 19:19 William Hubbs
2017-10-28  0:29 William Hubbs
2017-10-28  0:29 William Hubbs
2017-11-07 21:39 William Hubbs
2017-11-07 21:39 William Hubbs
2017-11-20 17:56 William Hubbs
2017-11-27 19:09 William Hubbs
2017-11-29 22:10 William Hubbs

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox