AFAIK, there's also a signal that gets sent in event of a power fluctuation. From there, you can use "ispoweron()" to tell the difference between a momentary power blip, and a real outage condition.
You'll only bother to poll when you've got a signal that said there was a potential outage issue, and then only to check to see if the situation has resolved itself (power back on or not). Depending on that knowledge, you can implement a variety of recovery policies (shutdown immediately; wait 10 minutes, then shutdown if the power is still out; etc).
From what I remember, it's not a useless function; albeit rarely very useful, either. AFAIK, it's been implemented on one of the BSD varients (BSDI Unix, perhaps?)
--
Ytrew | [reply] |
Usually there is a non-maskable interrupt from a UPS that alerts the system to shut itself down while auxiliary power is working. Much would depend on the capacity of the UPS. Ideally you'll have time to flush buffers, close files, and clean up before the power dies completely.
| [reply] |