Make apm(8) report apmd(8) failure
authorkn <kn@openbsd.org>
Tue, 6 Apr 2021 20:30:32 +0000 (20:30 +0000)
committerkn <kn@openbsd.org>
Tue, 6 Apr 2021 20:30:32 +0000 (20:30 +0000)
commitc7cff24ee1708a5e760cedcf0bc20937627414d9
treec28ca90e97de8e9fb7750186319be3d4d079a71c
parent3bcf74b64c76f19e649661450b37166f23c1efea
Make apm(8) report apmd(8) failure

apm(8) never got the result of the requested power action carried out by
apmd(8), so apm(4) errors got silently discarded;  for example, zzz(8)
would merely print "Suspending system..." and exit zero on platforms
lacking suspend/resume support.

Enrich reply messages from apmd to apm with an error field containing the
failed ioctl(2)'s errno if need be.

Hoist apmd's power action dispatch into handle_client() so it can write the
error in the first place before replying.

OK dv
usr.sbin/apm/apm.c
usr.sbin/apmd/apm-proto.h
usr.sbin/apmd/apmd.c
usr.sbin/apmd/apmsubr.c