Adrenalin Plugin for DreamOS

  • Ja stimmt, ein delay könnte da auch helfen.


    Aber ist schon erstaunlich wie schnell die Datei plötzlich gelöscht wird ;)

    Im Code wird geprüft, ob die Datei existiert und direkt danach wird die Größe abgefragt, wo die Datei dann aber schon weg ist.

    Das kann doch alles nur im Millisekundenbereich liegen ;)

    Vermutlich würden da 50ms für ein delay schon reichen, wobei man das ja nicht unnötig kompliziert machen muss ;)

    Mit try/except sollte das erstmal passen.


    Aber ich teste das ganze noch weiter.

    Komisch nur, dass ich früher nie solche GS hatte, obwohl ich das Plugin ja schon eine Weile nutze.

  • Das MultiThreading im DreamOS ist was diese Dinge angeht zu gut, womit das Verhalten auch stochastisch wird und deswegen das debuggen fast unmöglich und es abzufangen dannsinnvoller ist weil es auch mit delay passieren könnte. Wobei wir langsam alle Stellen im Griff haben sollten ;)


    Das ist halt der Nachteil wenn man sowas event gesteuert macht. Die Kombination mit os.* ist halt suboptimal, ich müsste das auf die C++ File handling Routinen vom E2 umschreiben, aber dann ginge es bald praktisch nur mehr im DreamOS was auch wieder schade wäre.

    Bad mood, bad manners, bad Plugins, you have been warned :whistling:

  • Na ja ich habe noch eine Version wo das Adrenalin Mappen in und aus dem memory als ladbares .so vom E2 gemacht wird, das ist dann auch logischerweise Thread Safe, aber ich finde die Python only Variante einfach sinnvoller;) und eleganter, wobei ich auch Mal den Code aufräumen müsste, aber solange es funktioniert habe ich halt auch nicht wirklich Lust dazu...

    Bad mood, bad manners, bad Plugins, you have been warned :whistling:

  • Die python-Variante finde ich schon ganz gut.

    Weil man da eben auch sieht, was passiert ;)


    Direkt nach dem Einlesen des Cache (nach Boxstart) steht manchmal ein ThreadError im E2log.


    Hab das bisher immer ignoriert, da das Plugin ja trotzdem funktioniert ;)

    Auch keine Ahnung, ob die Meldung überhaupt zum Adrenalin gehört.

    Ist aber nicht bei jedem Start.


    Code
    1. ...
    2. enigma2[25347]: [ADRENALIN] ENABLED CACHE 16 MB Files 676
    3. enigma2[25347]: WARNING removeSocketNotifier should be called from thread 25347 but is called from thread 25522
    4. enigma2[25347]: 0xcde0c(sp=0x9ed0f970) <get_backtrace[abi:cxx11](void*, int, int)+1336>
    5. enigma2[25347]: 0xdc860(sp=0x9ed13c00) <eTimer::AddRef()+108>
    6. enigma2[25347]: 0xdcd48(sp=0x9ed13c30) <eMainloop_native::removeSocketNotifier(eSocketNotifier*)+60>
    7. enigma2[25347]: 0xdd190(sp=0x9ed13c58) <eSocketNotifier::stop()+164>
    8. enigma2[25347]: 0xdf414(sp=0x9ed13c78) <eSocketNotifier::~eSocketNotifier()+40>
    9. enigma2[25347]: 0xdf464(sp=0x9ed13c88) <eSocketNotifier::~eSocketNotifier()+16>
  • Ich weiß, das müsste man statisch definieren weil sonst das Kind verweist, geht dann aber trotzdem weil ja neu getriggert wird, theoretisch könnte ich es sogar ganz rausnehmen weil beim Startup die Harddisk eh nicht im Standby ist. Das sind alles Überbleibsel ... Ich sage nicht umsonst es gehört eigentlich aufgeräumt, aber da es ein unterschätzten Plugin ist das nur die wenigsten überhaupt kennen warum soll ich mir die Arbeit machen 😁


    Ausserden wiederhole ich mich ....

    Bad mood, bad manners, bad Plugins, you have been warned :whistling:

  • Doch natürlich, ich weiß ziemlich genau was da noch gemacht werden müsste, ist auch gar nicht so viel Arbeit aber wenn es keiner ausser uns testet was soll's ;) viele Plugins wären froh wenn sie zu 98% funktionieren trotz solch offensichtlicher fehler=O

    Bad mood, bad manners, bad Plugins, you have been warned :whistling: