[vdr] error on large EPG loads via SVDRP
peter.kourzanov at xs4all.nl
Thu Jan 11 10:22:45 CET 2007
I heard that in new versions multiple SVDR connections are/will be allowed.
Does it mean that they will be then implemented via a separate thread and my
problem is solved?
Frank Schmirler wrote:
> On Wed, 10 Jan 2007 23:48:38 +0100, Pjotr Kourzanov wrote
>> I have neither investigated the problem deeper yet (just found a way
>> to split the EPG data into parts), nor looked in the source code. Is
>> it so difficult to convince the watchdog that while SVDR thread is
>> busy it is actually doing useful work?
> SVDRP is not implemented as a thread. Processing the SVDRP interface is part
> of the VDR main loop. The problem is that if you are uploading EPG fast
> enough, the SVDRP code will remain in cSVDRP::Process() until you're done. So
> the watchdog timer will not be refreshed and the watchdog eventually fires.
> There are two possible workarounds:
> 1. increase the watchdog timeout
> 2. take a short break from time to time while uploading the EPG. The "while
> (file.Ready(false))" loop in cSVDRP::Process() has a timeout of just 10
> milliseconds. With a sleep of 100ms you should be on the safe side, as you
> still need to take into account that network traffic is buffered on both, the
> client and the server.
Well, as I said earlier, these things look like dirty hacks to me. For now
I will just continue using my own dirty hack by splitting the EPG into parts.
> vdr mailing list
> vdr at linuxtv.org
More information about the vdr