Hi,

  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.


Cheers,
Frank

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr




_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to