Sync prompt timeout code with sysupgrade watchdog
authorkn <kn@openbsd.org>
Sun, 29 Aug 2021 13:16:22 +0000 (13:16 +0000)
committerkn <kn@openbsd.org>
Sun, 29 Aug 2021 13:16:22 +0000 (13:16 +0000)
commite4c0bb8d114148ee93c1001d023bceb7845a614b
tree1c875a97efaeaf9733726f1ae16b5e8059703190
parenta574f8cb9c92138aafd85c7b91519f05f73fd628
Sync prompt timeout code with sysupgrade watchdog

Simplify code and employ the same technique in both places.
The "prompt timeout" hits when on non-interactive installations or upgrades:

Welcome to the OpenBSD/amd64 6.9 installation program.
Starting non-interactive mode in 5 seconds...
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell?
Performing non-interactive upgrade...

The existing code uses a regular background job and does quirky file
descriptor fiddling just to avoid job control messages when starting the
timeout in the background.

It also does `set +m' a second time for no reason and hardodes the number of
seconds in multiple places.

Do better by using a co-process just like sysupgrade's watchdog that reboots
when the upgrade did not finish in time.

reads good to aja
distrib/miniroot/dot.profile