Hi,
wie in vdr/tools.h beschrieben:
///< You may keep pointers to objects in this list, even after releasing
///< the lock. However, you may only access such objects if you are
///< holding a proper lock again.
Anderes ausgedrückt: Ich darf z.B. auf eine const cEvent *event; Methode nur dann zugreifen, wenn ich einen LOCK_SCHEDULES_READ habe. Das war in live nie so umgesetzt, und ich habe es auch nicht wirklich beachtet . Das kann dazu führen, dass auf ein Datenfeld schreibend und lesend gleichzeitig zugegriffen wird. Was dann passiert, ist unklar ...
Das scheint in der Praxis kein soo großes Problem zu sein. Ich habe aber jetzt mal angefangen, diese Vorgabe in live umzusetzen. Das erfordert größere Umbauten, da können natürlich auch Fehler passieren. Daher habe ich einen neuen Branch mit dem Namen "test" angelegt. Also, wer testen will, ist herzlich eingeladen.
Wie gesagt, ich habe erst mit dem Umbau begonnen, d.h. es wird noch viele weitere Änderungen geben.
~ Markus