* luci/contrib/olsr: fix initscript to not kill itself sometimes
This commit is contained in:
parent
f424439b65
commit
8bba6cf4d0
1 changed files with 25 additions and 5 deletions
|
@ -3,6 +3,10 @@
|
|||
# Special thanks to bittorf wireless ))
|
||||
START=50
|
||||
|
||||
BIN=/usr/sbin/olsrd
|
||||
CONF=/var/etc/olsrd.conf
|
||||
PID=/var/run/olsrd.pid
|
||||
|
||||
OLSRD_OLSRD_SCHEMA='ignore:internal config_file:internal DebugLevel=0 IpVersion=4 AllowNoInt:bool=1 Pollrate=0.025 TcRedundancy=2 MprCoverage=3 LinkQualityFishEye=1 LinkQualityWinSize=100 LinkQualityDijkstraLimit=0+9.0 LinkQualityLevel=2 UseHysteresis:bool=0 FIBMetric=flat ClearScreen:bool=1 Willingness=3 LinkQualityAging=0.1 LinkQualityAlgorithm=etx_fpm'
|
||||
OLSRD_IPCCONNECT_SCHEMA='ignore:internal Host:list Net:list2'
|
||||
OLSRD_LOADPLUGIN_SCHEMA='ignore:internal library:internal Host:list Net:list2 Ping:list redistribute:list NonOlsrIf:list name:list lat lon latlon_infile HNA:list2 hosts:list2'
|
||||
|
@ -516,6 +520,14 @@ olsrd_write_config() {
|
|||
}
|
||||
|
||||
start() {
|
||||
### check for running instance
|
||||
if [ -s $PID ]; then
|
||||
if kill -0 $(cat $PID) 2>&-; then
|
||||
echo "there is already a running instance ($(cat $PID))"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
SYSTEM_HOSTNAME=
|
||||
SYSTEM_LAT=
|
||||
SYSTEM_LON=
|
||||
|
@ -539,18 +551,26 @@ start() {
|
|||
config_foreach olsrd_find_config_file olsrd
|
||||
|
||||
if [ -z "$OLSRD_CONFIG_FILE" ]; then
|
||||
mkdir -p -- /var/etc/
|
||||
olsrd_write_config > /var/etc/olsrd.conf
|
||||
### generate config
|
||||
mkdir -p ${CONF%/*}
|
||||
olsrd_write_config > $CONF
|
||||
if [ "$INTERFACES_COUNT" -gt 0 -a "$OLSRD_COUNT" -gt 0 ]; then
|
||||
OLSRD_CONFIG_FILE=/var/etc/olsrd.conf
|
||||
OLSRD_CONFIG_FILE=$CONF
|
||||
fi
|
||||
fi
|
||||
|
||||
[ -z "$OLSRD_CONFIG_FILE" ] && return 1
|
||||
|
||||
olsrd -f "$OLSRD_CONFIG_FILE" -nofork < /dev/null > /dev/null &
|
||||
### start olsrd
|
||||
start-stop-daemon -b -m -p $PID -x $BIN -S -- -f $CONF -nofork
|
||||
}
|
||||
|
||||
stop() {
|
||||
killall olsrd
|
||||
### stop olsrd
|
||||
start-stop-daemon -q -p $PID -a ${BIN##*/} -K
|
||||
}
|
||||
|
||||
restart() {
|
||||
### override generic restart because we need some time between stop and start
|
||||
stop; sleep 3; start
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue