start_watchdog() and reset_watchdog() exist, but stop logic is inlined.
Giving it a name seems better.

No functional change.
Feedback? Objection? OK?

Questions wrt. upgrade.site(5) prompted me to look at whether execution of
/upgrade.site execution is subject to this timeout:  it is, finish_up()
runs $MODE.site and the watchdog gets stopped afterwards.

Index: install.sub
===================================================================
RCS file: /cvs/src/distrib/miniroot/install.sub,v
retrieving revision 1.1241
diff -u -p -r1.1241 install.sub
--- install.sub 7 Apr 2023 13:48:42 -0000       1.1241
+++ install.sub 13 Apr 2023 15:14:31 -0000
@@ -3452,11 +3452,8 @@ do_upgrade() {
 
        # Perform final steps common to both an install and an upgrade.
        finish_up
-       if [ -f /tmp/wdpid ]; then
-               kill -KILL "$(cat /tmp/wdpid)" 2>/dev/null
-               # do not bother waiting
-               rm -f /tmp/wdpid
-       fi
+
+       stop_watchdog
 }
 
 check_unattendedupgrade() {
@@ -3483,6 +3480,7 @@ WATCHDOG_PERIOD_SEC=$((30 * 60))
 # Restart the background timer.
 reset_watchdog() {
        local _pid
+
        if [ -f /tmp/wdpid ]; then
                _pid=$(cat /tmp/wdpid)
                kill -KILL -$_pid 2>/dev/null
@@ -3501,6 +3499,14 @@ start_watchdog() {
        ) >/dev/null 2>&1 &
        echo $! > /tmp/wdpid
        set +m
+}
+
+stop_watchdog() {
+       if [ -f /tmp/wdpid ]; then
+               kill -KILL "$(cat /tmp/wdpid)" 2>/dev/null
+               # do not bother waiting
+               rm -f /tmp/wdpid
+       fi
 }
 
 # return if we only want internal functions

Reply via email to