Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

Sotware Watchdog; was Re: Problem with watchdog

Sotware Watchdog; was Re: Problem with watchdog

2005-12-13 by Bruce Paterson

> Jack Ganssle's paper gives one way out of this (a supervisory 
> task monitoring the health of all other tasks). There are 
> alternatives. 

I have done something like this in the past for a multi-tasking system.

The supervisory task was responsible for feeding the hardware watchdog.
It was one of the first tasks started up in the system. As other tasks
are started, they each "register" with the supervisory task with a
requested watchdog time. This means different tasks can register at
different software pat rates (how often they promise to keep telling the
supervisory task they're all ok), allowing for slow low priority tasks
or tasks that know they can take longer times to get around their
"loops". Though it could be considered a slight hole, I also allowed
tasks to adjust their pat time dynamically, or de-register because they
were just about to close. The advantages outweighed the risk in my
instance, allowing coverage of all tasks, whether transitory or not.
(Perhaps when a task first registers, it could specify whether it can
later deregister or not, makeing that hole a little more secure.)

I have no idea if this sort of thing has been documented before; it was
just my own design that rose from a requirement. It's a little bit
"INIT" like, but prompting a full system restart on failure rather than
a single task restart. 

Cheers,
Bruce

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.