Align the interfaces for the various watchdogs and make the interface
behave as expected.
Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an
explanation of the difference between WD_ACTIVE and WD_PASSIVE.
- Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've
lost your sense of humor, than don't add a define.
Specific changes:
i80321_wdog.c
Don't roll your own passive watchdog tickle as this would defeat the
purpose of an active (userland) watchdog tickle.
ichwd.c / ipmi.c:
WD_ACTIVE means active patting of the watchdog by a userland process,
not whether the watchdog is active. See sys/watchdog.h.
kern_clock.c:
(software watchdog) Remove a check for WD_ACTIVE as this does not make
sense here. This reverts r1.181.
Revision Changes Path
1.371 +1 -0 src/share/man/man4/Makefile
1.8 +69 -25 src/share/man/man4/watchdog.4
1.4 +7 -1 src/share/man/man9/watchdog.9
1.3 +15 -11 src/sys/arm/xscale/i80321/i80321_wdog.c
1.7 +12 -30 src/sys/dev/ichwd/ichwd.c
1.8 +8 -17 src/sys/dev/ipmi/ipmi.c
1.8 +3 -1 src/sys/dev/mk48txx/mk48txx.c
1.4 +4 -1 src/sys/dev/watchdog/watchdog.c
1.33 +9 -9 src/sys/i386/i386/elan-mmcr.c
1.193 +3 -3 src/sys/kern/kern_clock.c
1.4 +0 -4 src/sys/sys/watchdog.h
and
Don't exit from watchdogd on receiving a signal if we cannot stop the watchdog.
That'll require -KILL. This avoids resetting your system on one of the
watchdogs that you cannot disable.
Revision Changes Path
1.15 +18 -11 src/usr.sbin/watchdogd/watchdogd.c
Reviewed by: phk