Use exclusive lock under /dev/, silence expected errors in installer
authorkn <kn@openbsd.org>
Wed, 21 Jul 2021 03:53:50 +0000 (03:53 +0000)
committerkn <kn@openbsd.org>
Wed, 21 Jul 2021 03:53:50 +0000 (03:53 +0000)
commitbc9eb55c873f0ed3d1900026f88b3e4592a2071f
treeed757ca3aebe41f3c304930ee2a10b8db2124ae9
parent8f3bef5a8844f234ed59970281d39008318e3753
Use exclusive lock under /dev/, silence expected errors in installer

resolvd(8), slaacd(8) and dhcpleased(8) are different from other daemons
in that there must only be a single instance.

resolvd already does this, adjust slaacd and dhcpleased accordingly while
moving the lockfile paths under /dev/ such that they work early on boot and
don't run into races should /var be (un)mounted between daemon starts.

Locking is especially required in the installer where all three daemons are
started every time the "(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? "
prompt is entered, i.e. restarting installation or dropping into a shell
and back into the prompt again would start multiple instances.

To avoid expected lockfile error messages in between installer prompts,
discard standard error when starting the autoconf daemons;  none of them
has other potential failure cases in installer mode before daemon(3)izing.

Input sthen deraadt
OK deraadt
distrib/miniroot/dot.profile
sbin/dhcpleased/dhcpleased.c
sbin/dhcpleased/dhcpleased.h
sbin/resolvd/resolvd.c
sbin/slaacd/slaacd.c
sbin/slaacd/slaacd.h