Can anyone point me to a good description of exactly how Apple's current OS X "watchdog" infrastructure works? "man watchdogd" gives some minimal information which says it'll trigger a reboot if kernel or user space hangs, but it doesn't describe at all *how* that's done. AFAICS, there are probably multiple parts to this current watchdog service, but one aspect I'm particularly interested in is whether Apple still retains the any sort of *hardware*-based failsafe reboot service, like what was available several years ago in the separate OS X Server OS product. In that OS, a "watchdog" command could initialize a countdown timer in the PMU hardware, and the machine would reboot if the timer ever ran down to zero. In healthy systems, that timeout was typically avoided by a daemon "watchdogtimerd" periodically putting more time back on the timer. If the kernel hung, though, the daemon wouldn't be able to update the PMU timer, and the timer would soon run out and cause a reboot. So does Apple's current "watchdog" infrastructure retain any of that hardware-based functionality? If not, is it any poorer for it? Notably, can it reboot automatically if the kernel hangs? (Not panics - panics are handled by an event-handling system that assumes that the kernel is still running.)
Thanks,
-- Jonathan