[vdr] PANIC: watchdog timer expired - exiting

Petri Hintukainen phintuka at users.sourceforge.net
Sun Jun 10 16:37:29 CEST 2007


On Sun, 2007-06-10 at 14:59 +0200, Udo Richter wrote:
> Petri Hintukainen wrote:
> > It might be even some plugin. All timeouts (cTimeMs, cCondVar,
> > cCondWait) use current wall clock time to set the timeout. 
> 
> Thats not even all: There are 140 references to time(NULL) in VDR, and 
> most of them are used for timeouts between a few seconds and some hours. 
> Even the famous "video data stream broken" (causing an emergency 
> shutdown) can be triggered by a 30-second time step.

He :)
All places where time(NULL) is used to measure some time interval could
easily be changed to use monotonic cTimeMs.
But with timers current wall clock time is really required ...

It might be enough to replace most of time(NULL) 's with something like

time_t cTimeMs::Time(void) {
	return (time_t)(cTimeMs::Now() / 1000);
}

Using the cTimeMs timer/trigger mechanism requires some more changes and
debugging.


- Petri





More information about the vdr mailing list