[vdr] VDR not starting if a plugin fails to start?

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Fri Sep 19 18:17:10 CEST 2008


On 09/19/08 17:20, Petri Helin wrote:
> VDR User wrote:
>> I like that VDR won't load if a plugin failed.  That means there was a
>> problem, and I should go fix it.  Also, it's the plugins job to
>> continue on non-fatal errors, not VDR.  How would VDR even know whats
>> a non-fatal error for a certain plugin?  From VDR's perspective either
>> the plugin is working or it's not.
>>
> 
> But why should even a fatal error (from plugin's perspective) cause VDR 
> to not start? It should only cause the plugin not to be loaded. Of 
> course plugins could also implement more intelligent initialization and 
> try to deal with possible errors, but isn't it easier to just handle it 
> in one place - at the VDR?
> 
> If I think of the core VDR, I see its main function as recording 
> TV-programmes. From that perspective it's not that big of a problem if 
> it doesn't start properly due to a plugin not bevahing properly if I am 
> sitting next to the PC and can fix or circumvent the problem. But since 
> it will mostly record when I am not sitting next to it, I would prefer 
> that it would still record the programme, no matter if all the plugins 
> failed.

And what if such a plugin implements a device?

The definition of the Initialize() and Start() functions is:

  A return value of false indicates that something has gone wrong and
  the plugin will not be able to perform its task. In that case, the
  plugin should write a proper error message to the log file.
  The first plugin that returns false from its Initialize() or Start()
  function will cause VDR to exit.

So, if a plugin thinks VDR can well run without it, it should just
return true. If it's a plugin that's absolutely necessary for operation,
it shall return false upon failure. VDR can't know that by itself.

Klaus



More information about the vdr mailing list