[vdr] Force VDR to save channels.conf

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Sat Jun 2 16:55:31 CEST 2012


On 27.05.2012 13:37, Anssi Hannula wrote:
> 26.05.2012 23:54, Tobi kirjoitti:
>> On 26.05.2012 20:56, Artem Makhutov wrote:
>>
>>> How ever - when I restart VDR the changes are not getting saved to
>>> channels.conf.
>>
>> Check the syslog. There might be a plugin not cleanly shutting down,
>> making the vdr abort it's shutdown sequence causing it's settings to not
>> be saved.
>
> Unless things have changed very recently, VDR doesn't save channels.conf
> on shutdown.
>
> It only saves it
> a) Immediately after user manually modifies channels via VDR
> b) 10 minutes after automatic channel update
>
> I've been hit with this many times as well, so I'd suggest to change VDR
> so that it saves automatic channel updates on exit as well. Suggested
> patch attached (only compile-tested, so actual testing is needed).

I'm afraid it's not that simple.

channels.conf and timers.conf must always be in sync, because timers
reference channels. Plus you need to have a lock on the Channels list
to prevent any changes from other threads while saving the list.
See the main VDR loop under "// Handle channel and timer modifications":

           if ((modified || timeout) && Channels.Lock(false, 100)) {
               if (timeout) {
                  Channels.Save();
                  Timers.Save();
                  ChannelSaveTimeout = 0;
                  }

Is it really that important to explicitly save automatic channel changes
when VDR stops? After all, they will be applied again next time VDR tunes
to those transponders...

Klaus



More information about the vdr mailing list