packages/net/yggdrasil/files/yggdrasil.init
Maciej Krüger db1ee5746c yggdrasil: stop properly
Previously it was using killall with procd respand enabled

This was causing yggdrasil to restart after being killed

root@r3test-hap:/# service yggdrasil stop ; echo $? ; sleep 10s ; ps | grep yggdrasil
Terminated
143
 6701 root      653m S    /usr/sbin/yggdrasil -useconffile /tmp/yggdrasil.conf
 6748 root      1308 S    grep yggdrasil

Now it's just using whatever procd is using and see there, it actually stops

root@r3test-hap:/# service yggdrasil stop ; echo $? ; sleep 10s ; ps | grep yggdrasil
0
 6802 root      1308 S    grep yggdrasil

I assume there was some procd bug that kept it from being used properly

Signed-off-by: Maciej Krüger <mkg20001@gmail.com>
2022-06-02 16:40:47 +02:00

33 lines
595 B
Bash
Executable file

#!/bin/sh /etc/rc.common
START=90
STOP=85
USE_PROCD=1
BIN_FILE="/usr/sbin/yggdrasil"
CONFIG_FILE="/tmp/yggdrasil.conf"
DAEMON_OPTS="-useconffile $CONFIG_FILE"
start_service()
{
[ -f /etc/uci-defaults/yggdrasil ] && ( . /etc/uci-defaults/yggdrasil )
/usr/sbin/ygguci get | $BIN_FILE -useconf -normaliseconf -json > $CONFIG_FILE
procd_open_instance
procd_set_param respawn
procd_set_param command $BIN_FILE $DAEMON_OPTS
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
reload_service()
{
restart
}
service_triggers()
{
procd_add_reload_trigger yggdrasil
}