Compare commits
	
		
			9 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | e92e81d9fe | ||
|   | bed1a45192 | ||
|   | 34d9dbf1e3 | ||
|   | 0287aa6588 | ||
|   | 1732c70fb5 | ||
|   | 263dde90c2 | ||
|   | 422795e2ce | ||
|   | 00ad99a292 | ||
|   | f026c2c541 | 
							
								
								
									
										73
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,3 +1,68 @@ | ||||
| commit bed1a4519295a86f7cc62a79604d73a8ae726103 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     fix FreeBSD build | ||||
|      | ||||
|     This is for #186. | ||||
|  | ||||
| commit 34d9dbf1e305cad9ddde094dbc905e9024e94992 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     version 0.34.10 | ||||
|  | ||||
| commit 0287aa65884e30f81a92c58d911048b00c878034 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     Update ChangeLog | ||||
|  | ||||
| commit 1732c70fb5e6d75c0d104662d06169978c00a5e8 | ||||
| Author: Doug Freed <dwfreed@mtu.edu> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     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 <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     version 0.34.9 | ||||
|  | ||||
| commit 422795e2ceb723601e648f4f5cde55141c7e02f4 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     Update ChangeLog | ||||
|  | ||||
| commit 00ad99a29223e1567752191e748822710e1042e6 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     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 <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     version 0.34.8 | ||||
|  | ||||
| commit 4d20309ffeb5f0211957bbbc5c875dab434b5079 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     Update ChangeLog | ||||
|  | ||||
| commit 65439ba023195786e71316f6638b52603e102f60 | ||||
| Author: William Hubbs <w.d.hubbs@gmail.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
| @@ -1616,11 +1681,3 @@ Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|      | ||||
|     The openntmpfiles package is designed so that it can be used on systems | ||||
|     independently of whether openrc is used. | ||||
|  | ||||
| commit 6414c3bc394f86a5d6a5f02c934469e21bbbc923 | ||||
| Author: Jason Zaman <jason@perfinion.com> | ||||
| Commit: William Hubbs <w.d.hubbs@gmail.com> | ||||
|  | ||||
|     selinux: fix SIGSEGV with invalid contexts | ||||
|      | ||||
|     Fixes: https://github.com/openrc/openrc/issues/104 | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| NAME=		openrc | ||||
| VERSION=	0.34.7 | ||||
| VERSION=	0.34.10 | ||||
| PKG=		${NAME}-${VERSION} | ||||
|   | ||||
| @@ -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 10000. | ||||
| to go down when stopping the service. The default is 60000. | ||||
| .It Ar start_stop_daemon_args | ||||
| List of arguments passed to start-stop-daemon when starting the daemon. | ||||
| .It Ar command | ||||
|   | ||||
| @@ -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. | ||||
|  | ||||
|   | ||||
							
								
								
									
										20
									
								
								sh/s6.sh
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								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:-10000} "${s6_service_link}" | ||||
| 	s6-svc -d -wD -T ${s6_service_timeout_stop:-60000} "${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}" | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user