From 4710ec0cdc64dcbc32a0e48bdce971838a7b455a Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Mon, 7 Nov 2022 16:16:53 +0200 Subject: [PATCH] system: wait for configd try no. 2; closes #6123 --- src/etc/rc.d/configd | 18 ++++++++++++------ src/opnsense/service/configd.py | 2 -- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/etc/rc.d/configd b/src/etc/rc.d/configd index 578b6d342..7f059ae24 100755 --- a/src/etc/rc.d/configd +++ b/src/etc/rc.d/configd @@ -13,6 +13,7 @@ name="configd" rcvar="configd_enable" : ${configd_enable="YES"} pidfile="/var/run/${name}.pid" +sockfile="/var/run/configd.socket" start_precmd=configd_prestart start_postcmd=configd_poststart @@ -29,18 +30,25 @@ configd_load_rc_config() command_interpreter=/usr/local/bin/python3 } -# configd_prestart() { + # clean up again just in case as poststart will probe for socket + configd_poststop + # reset access rights on configd daemon script chmod 700 /usr/local/opnsense/service/configd.py } -# configd_poststart() { # give the daemon some time to initialize its configuration - sleep 1 + for i in 1 2 3 4 5; do + sleep 1 + + if [ -S ${SOCKFILE} ]; then + break + fi + done } # kill configd @@ -77,9 +85,7 @@ configd_stop() # cleanup after stopping configd configd_poststop() { - if [ -S /var/run/configd.socket ]; then - rm /var/run/configd.socket - fi + rm -f ${SOCKFILE} } load_rc_config $name diff --git a/src/opnsense/service/configd.py b/src/opnsense/service/configd.py index dd3e2fbfa..c909037dd 100755 --- a/src/opnsense/service/configd.py +++ b/src/opnsense/service/configd.py @@ -170,6 +170,4 @@ else: logger=loghandle ) daemon.start() - # wait for the socket to come up before yielding to the caller - time.sleep(1) sys.exit(0)