diff --git a/net/ntpclient/files/ntpclient.config b/net/ntpclient/files/ntpclient.config index 0d9c01041..169511378 100644 --- a/net/ntpclient/files/ntpclient.config +++ b/net/ntpclient/files/ntpclient.config @@ -1,22 +1,22 @@ config ntpclient option hostname '0.openwrt.pool.ntp.org' option port '123' - option count '1' + option count '0' config ntpclient option hostname '1.openwrt.pool.ntp.org' option port '123' - option count '1' + option count '0' config ntpclient option hostname '2.openwrt.pool.ntp.org' option port '123' - option count '1' + option count '0' config ntpclient option hostname '3.openwrt.pool.ntp.org' option port '123' - option count '1' + option count '0' config ntpdrift option freq '0' diff --git a/net/ntpclient/files/ntpclient.init b/net/ntpclient/files/ntpclient.init index b9c71c559..7c975f695 100644 --- a/net/ntpclient/files/ntpclient.init +++ b/net/ntpclient/files/ntpclient.init @@ -8,23 +8,15 @@ config_cb() { local cfgtype config_get cfgtype "$cfg" TYPE - case "$cfgtype" in - ntpclient) - config_get hostname $cfg hostname - config_get port $cfg port + if [ "$cfgtype" = ntpclient ] + then + config_get hostname $cfg hostname + config_get port $cfg port + config_get count $cfg count - # prepare for continuos operation - count=0 # unlimited - ps | grep 'bin/[n]tpclient' >&- || { - while true; do - ping -c 1 $hostname 2>&- >&- && { - /usr/sbin/ntpclient -c ${count:-1} -l -h $hostname -p ${port:-123} 2>&- >&- & - } && return - sleep 3 - done - } - ;; - esac + ps | grep -q 'bin/[n]tpclient' || \ + /usr/sbin/ntpclient -s -c ${count:-1} -l -h $hostname -p ${port:-123} 2>&- >&- & + fi } start() {