Moin!
Irgendwas scheint da noch im Argen zu sein, hier mal der syslog-Ausschnitt:
Code
vdr: [3490] timer 1 (4 0710-0810 'DAS! Kochstudio') set to event Sam 30.03.2013 07:15-08:00 (VPS: 30.03. 07:15) 'DAS! Kochstudio'
vdr: [3490] timer 2 (4 1125-1310 'Das schwarze Schaf') set to event Sam 30.03.2013 11:30-13:00 (VPS: 30.03. 11:30) 'Das schwarze Schaf'
vdr: [3490] timer 3 (4 1730-1810 'Tim Mälzer kocht!') set to event Sam 30.03.2013 17:35-18:00 (VPS: 30.03. 17:35) 'Tim Mälzer kocht!'
vdr: [3490] timer 4 (4 1925-2010 'Schleswig-Holstein Magazin') set to event Sam 30.03.2013 19:30-20:00 (VPS: 30.03. 19:30) 'Schleswig-Holstein Magazin'
vdr: [3490] timer 5 (4 2310-0055 'Die Comedy Gala') set to event Sam 30.03.2013 23:15-00:45 (VPS: 30.03. 23:15) 'Die Comedy Gala'
vdr: [3512] EPGSearch: timer conflict check started
vdr: [3512] timer 1 (4 0710-0810 'DAS! Kochstudio') set to event Sam 30.03.2013 07:15-08:00 (VPS: 30.03. 07:15) 'DAS! Kochstudio'
vdr: [3512] timer 1 (4 1125-1310 'Das schwarze Schaf') set to event Sam 30.03.2013 11:30-13:00 (VPS: 30.03. 11:30) 'Das schwarze Schaf'
vdr: [3512] timer 1 (4 1730-1810 'Tim Mälzer kocht!') set to event Sam 30.03.2013 17:35-18:00 (VPS: 30.03. 17:35) 'Tim Mälzer kocht!'
vdr: [3512] timer 1 (4 1925-2010 'Schleswig-Holstein Magazin') set to event Sam 30.03.2013 19:30-20:00 (VPS: 30.03. 19:30) 'Schleswig-Holstein Magazin'
vdr: [3512] timer 1 (4 2310-0055 'Die Comedy Gala') set to event Sam 30.03.2013 23:15-00:45 (VPS: 30.03. 23:15) 'Die Comedy Gala'
Alles anzeigen
Vor dem Konflikt-Check ist noch alles ok, danach nicht mehr. Bei allen Timern wird der Index 1 angezeigt.
Der Index wird so berechnet (im vdr, tools.c):
Code
int cListObject::Index(void) const
{
cListObject *p = prev;
int i = 0;
while (p) {
i++;
p = p->prev;
}
return i;
}
Alles anzeigen
Es wird also der Vorgänger des aktuellen Objekts genommen und so lange gezählt, bis es keinen mehr gibt, man also am Anfang der Liste ist.
Wenn jetzt immer ein Index von 0 zurückkommt (für die Ausgabe wird in cTimer::ToDescr noch eins addiert), heißt das eigentlich, dass "prev" immer NULL ist.
Bei LSTT kommen noch alle Timer, ebenso im OSD. Das heißt für mich, dass "next" noch in Ordnung ist.
Irgendwas scheint also die doppelt verkettete Liste kaputt zu machen.
Jemand eine Idee?
Lars.