diff options
Diffstat (limited to 'community/h2o/h2o.initd')
-rw-r--r-- | community/h2o/h2o.initd | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/community/h2o/h2o.initd b/community/h2o/h2o.initd new file mode 100644 index 0000000000..47e301d334 --- /dev/null +++ b/community/h2o/h2o.initd @@ -0,0 +1,45 @@ +#!/sbin/openrc-run + +extra_started_commands="reload" +extra_commands="configtest" +conffile=/etc/h2o.conf +pidfile=/var/run/h2o.pid +command=/usr/bin/h2o +command_args="-c $conffile -m master" + +depend() { + need net + after sshd + use dns logger netmount +} + +start_pre() { + configtest || return 1 +} + +start() { + ebegin "Starting h2o" + start-stop-daemon --start \ + --background \ + --pidfile ${pidfile} \ + --exec ${command} \ + -- ${command_args} + eend $? +} + +reload() { + configtest || return 1 + ebegin "Refreshing h2o configuration" + kill -HUP `cat $pidfile` &>/dev/null + eend $? "Failed to reload h2o" +} + +configtest() { + ebegin "Checking h2o configuration" + + if [ ! -f "${conffile}" ]; then + ewarn "${conffile} does not exist." + return 1 + fi +} + |