mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-16 05:55:45 +00:00
When using systemd, ntpdate-sync script will start in background triggering the start of ntpd without actually exiting. This results in an bind error in ntpd startup. Add wait at the end of ntpdate script to ensure that when the ntpdate.service is marked as finished the oneshot script ntpdate-sync finished and unbind the ntp port Fixes #386 Signed-off-by: Adrian Zaharia <Adrian.Zaharia@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
60 lines
1.2 KiB
Bash
Executable File
60 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
PATH=/sbin:/bin:/usr/bin:/usr/sbin
|
|
|
|
test -x /usr/sbin/ntpdate || exit 0
|
|
|
|
if test -f /etc/default/ntpdate ; then
|
|
. /etc/default/ntpdate
|
|
fi
|
|
|
|
if [ "$NTPSERVERS" = "" ] ; then
|
|
if [ "$METHOD" = "" -a "$1" != "silent" ] ; then
|
|
echo "Please set NTPSERVERS in /etc/default/ntpdate"
|
|
exit 1
|
|
else
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
# This is a heuristic: The idea is that if a static interface is brought
|
|
# up, that is a major event, and we can put in some extra effort to fix
|
|
# the system time. Feel free to change this, especially if you regularly
|
|
# bring up new network interfaces.
|
|
if [ "$METHOD" = static ]; then
|
|
OPTS="-b"
|
|
fi
|
|
|
|
if [ "$METHOD" = loopback ]; then
|
|
exit 0
|
|
fi
|
|
|
|
(
|
|
|
|
LOCKFILE=/var/lock/ntpdate
|
|
|
|
# Avoid running more than one at a time
|
|
if [ -x /usr/bin/lockfile-create ]; then
|
|
lockfile-create $LOCKFILE
|
|
lockfile-touch $LOCKFILE &
|
|
LOCKTOUCHPID="$!"
|
|
fi
|
|
|
|
if /usr/sbin/ntpdate -s $OPTS $NTPSERVERS 2>/dev/null; then
|
|
if [ "$UPDATE_HWCLOCK" = "yes" ]; then
|
|
hwclock --systohc || :
|
|
fi
|
|
fi
|
|
|
|
if [ -x /usr/bin/lockfile-create ] ; then
|
|
kill $LOCKTOUCHPID
|
|
lockfile-remove $LOCKFILE
|
|
fi
|
|
|
|
) &
|
|
|
|
# wait for all subprocesses to finish
|
|
# this is required when using systemd service as ntpd will start before ntpdate finishes
|
|
# and results in a bind error (port 123)
|
|
wait
|