mirror of
https://github.com/openwrt/packages.git
synced 2026-04-15 10:51:55 +00:00
chrony: make chrony-hotplug more reliable
At startup there's a race situation where "chronyc waitsync" (and thus chrony-hotplug) will exit right away because it can't bind to loopback. This change tries quite hard to make chrony-hotplug wait for loopback to come up before running chronyc. Fixes #28434. Signed-off-by: Florian Wagner <florian@wagner-flo.de>
This commit is contained in:
committed by
Hannu Nyman
parent
27c44bf735
commit
ce52e2ec21
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=chrony
|
||||
PKG_VERSION:=4.8
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://chrony-project.org/releases/
|
||||
|
||||
@@ -1,4 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Find interface corresponding to lo device
|
||||
IFACE=$(ubus call network.interface dump | \
|
||||
jsonfilter -e '@.interface[@.device="lo"].interface')
|
||||
|
||||
# During boot network.interface dump can be empty; try UCI instead
|
||||
if [ -z "${IFACE}" ]; then
|
||||
. /lib/functions.sh
|
||||
handle_interface () {
|
||||
local iface="$1"
|
||||
local device
|
||||
config_get device "${iface}" device
|
||||
[ "${device}" = "lo" ] && IFACE=${iface}
|
||||
}
|
||||
config_load network
|
||||
config_foreach handle_interface interface
|
||||
fi
|
||||
|
||||
[ -z "${IFACE}" ] || \
|
||||
ubus -t 30 wait_for network.interface.${IFACE}
|
||||
|
||||
# Wait for sync for up to 5 minutes and notify other services
|
||||
|
||||
/usr/bin/chronyc waitsync 300 1 0.0 1 || exit 0
|
||||
|
||||
Reference in New Issue
Block a user