summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-10-27 01:22:30 -0400
committerJune McEnroe <june@causal.agency>2019-10-27 01:22:30 -0400
commit4bd6eca3644642ff20d48d38c250d7ab1a62ec78 (patch)
tree60cc2f1de94faa5c70ea84042d7e75facbe4bb30
parentReload certificate on SIGUSR1 (diff)
downloadpounce-4bd6eca3644642ff20d48d38c250d7ab1a62ec78.tar.gz
pounce-4bd6eca3644642ff20d48d38c250d7ab1a62ec78.zip
Add reload cmd to rc script
Using daemon(8) makes this way more awkward than it should be.
-rw-r--r--rc.pounce23
1 files changed, 17 insertions, 6 deletions
diff --git a/rc.pounce b/rc.pounce
index bf95504..599c585 100644
--- a/rc.pounce
+++ b/rc.pounce
@@ -8,20 +8,25 @@
 
 name='pounce'
 rcvar='pounce_enable'
+extra_commands='reload'
+sig_reload='USR1'
 
 load_rc_config "${name}"
 
 : ${pounce_enable:="NO"}
 
-_command='/usr/local/bin/pounce'
 command='/usr/sbin/daemon'
 pidprefix="/var/run/${name}"
 pidfile="${pidprefix}.pid"
 
+child_command='/usr/local/bin/pounce'
+child_pidfile="${pidprefix}.child.pid"
+
 if [ -n "$2" ]; then
 	profile=$2
 	if [ -n "${pounce_profiles}" ]; then
 		pidfile="${pidprefix}.${profile}.pid"
+		child_pidfile="${pidprefix}.${profile}.child.pid"
 		eval pounce_enable="\${pounce_${profile}_enable:-${pounce_enable}}"
 		eval pounce_flags="\${pounce_${profile}_flags:-${pounce_flags}}"
 		eval pounce_user="\${pounce_${profile}_user:-${pounce_user}}"
@@ -38,12 +43,18 @@ else
 	fi
 fi
 
-_pounce_flags=$pounce_flags
-_pounce_user=$pounce_user
+child_flags=$pounce_flags
+child_user=$pounce_user
 unset pounce_flags pounce_user
 command_args="\
-	-r -P ${pidfile} -T ${name}${profile:+/${profile}} \
-	${_pounce_user:+-u ${_pounce_user}} \
-	-- ${_command} ${_pounce_flags}"
+	-r -P ${pidfile} -p ${child_pidfile} -T ${name}${profile:+/${profile}} \
+	${child_user:+-u ${child_user}} \
+	-- ${child_command} ${child_flags}"
+
+pounce_reload() {
+	rc_pid=$(check_pidfile "$child_pidfile" "$child_command")
+	kill "-$sig_reload" "$rc_pid"
+}
+reload_cmd='pounce_reload'
 
 run_rc_command "$1"
it: update to 1.8.3John Keeping 2013-05-22cache.c: cache ls_cache output properlyJohn Keeping 2013-05-22tests: introduce strip_header() helper functionJohn Keeping 2013-05-22shared.c: use die_errno() where appropriateJohn Keeping 2013-05-22html.c: die when write failsJohn Keeping 2013-05-22ui-log: add <span/> around commit decorationsJohn Keeping 2013-05-22Makefile: fix parallel "make test"John Keeping 2013-05-18cache.c: fix cache_lsJohn Keeping 2013-05-13t0109: "function" is a bash-ismJohn Keeping 2013-05-13New mailing list.Jason A. Donenfeld 2013-04-30ui-snapshot: do not access $HOMEJason A. Donenfeld 2013-04-27t0001: validate Git -rcN version numbers correctlyJohn Keeping 2013-04-27git: update to 1.8.2.2John Keeping 2013-04-17scan-tree: fix regression in section-from-path=-1John Keeping 2013-04-15t0001: ignore ".dirty" suffix on Git versionJohn Keeping 2013-04-15tests: set TEST_OUTPUT_DIRECTORY to the CGit test directoryJohn Keeping 2013-04-15t0109: test more URLsJohn Keeping 2013-04-10cgitrc.5.txt: Specify when scan-path must be defined before.Jason A. Donenfeld 2013-04-10ui-snapshot.c: Prepend "V" when guessing ref namesLukas Fleischer 2013-04-10t0107: Skip ZIP tests if unzip(1) isn't availableLukas Fleischer 2013-04-10tests/: Do not use `sed -i`Lukas Fleischer 2013-04-10Add branch-sort and repo.branch-sort options.Jason A. Donenfeld 2013-04-10t0109: chain operations with &&John Keeping 2013-04-10cgit.c: Do not restore unset environment variablesLukas Fleischer 2013-04-09t0107: Use `tar -z` for gzip'ed archivesLukas Fleischer