[vdr] vdr-api: how to check if VDR is up?

2009-06-08 Thread Christian Wieninger
Hi,

the epgsearch plugin handles some tasks as separate threads, that also 
use SVDRP to talk to VDR. Currently these threads are started after a 
fixed time (e.g. 20s) to give VDR the time to start up.
A user reported that epgsearch fails in SVDRP communication, because VDR 
was still waiting for its devices (and therefore is not yet ready to 
accept SVDRP connections):

Jun  3 20:07:40 vdr vdr: [3466] not all devices ready after 30 seconds

These 30 seconds are only defined in vdr.c and are therefore 'invisible' 
to plugins. So I'm looking for 'clean' way to check if VDR is up and ready.
Of course, one could do any SVDRP command, e.g. 'help', and check the 
result, but thats quite cumbersome.
Next idea: use cPlugin::Housekeeping() to signal the threads that VDR is 
idle now after startup. This works, but sometimes takes up to >90s.
Any idea how to get a better solution?

Thanks,

Christian




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


Re: [vdr] vdr-api: how to check if VDR is up?

2009-06-13 Thread Klaus Schmidinger
On 06/08/09 08:59, Christian Wieninger wrote:
> Hi,
> 
> the epgsearch plugin handles some tasks as separate threads, that also 
> use SVDRP to talk to VDR. Currently these threads are started after a 
> fixed time (e.g. 20s) to give VDR the time to start up.
> A user reported that epgsearch fails in SVDRP communication, because VDR 
> was still waiting for its devices (and therefore is not yet ready to 
> accept SVDRP connections):
> 
> Jun  3 20:07:40 vdr vdr: [3466] not all devices ready after 30 seconds
> 
> These 30 seconds are only defined in vdr.c and are therefore 'invisible' 
> to plugins. So I'm looking for 'clean' way to check if VDR is up and ready.
> Of course, one could do any SVDRP command, e.g. 'help', and check the 
> result, but thats quite cumbersome.
> Next idea: use cPlugin::Housekeeping() to signal the threads that VDR is 
> idle now after startup. This works, but sometimes takes up to >90s.
> Any idea how to get a better solution?

You could implement cPlugin::MainThreadHook(), which is called at the
end of the main loop.

Klaus

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


Re: [vdr] vdr-api: how to check if VDR is up?

2009-06-15 Thread Christian Wieninger
Hi,

thanks Klaus, this works like a charm :)

Christian

Klaus Schmidinger schrieb:
> On 06/08/09 08:59, Christian Wieninger wrote:
>   
>> Hi,
>>
>> the epgsearch plugin handles some tasks as separate threads, that also 
>> use SVDRP to talk to VDR. Currently these threads are started after a 
>> fixed time (e.g. 20s) to give VDR the time to start up.
>> A user reported that epgsearch fails in SVDRP communication, because VDR 
>> was still waiting for its devices (and therefore is not yet ready to 
>> accept SVDRP connections):
>>
>> Jun  3 20:07:40 vdr vdr: [3466] not all devices ready after 30 seconds
>>
>> These 30 seconds are only defined in vdr.c and are therefore 'invisible' 
>> to plugins. So I'm looking for 'clean' way to check if VDR is up and ready.
>> Of course, one could do any SVDRP command, e.g. 'help', and check the 
>> result, but thats quite cumbersome.
>> Next idea: use cPlugin::Housekeeping() to signal the threads that VDR is 
>> idle now after startup. This works, but sometimes takes up to >90s.
>> Any idea how to get a better solution?
>> 
>
> You could implement cPlugin::MainThreadHook(), which is called at the
> end of the main loop.
>
> Klaus
>
> ___
> 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