enigma hängt im shutdown wenn background thread läuft

  • Ich habe einen Thread, von dem ich beim enigma start eine Instance erzeuge. Wenn mein Thread nur instanziert ist, dann restartet enigma2 sauber. Wenn der Thread aber im run() ist, hängt enigma.


    ein __del__(): wird leider nicht aufgerufen beim enigma restart.


    Weiß jemand eine Tip? :pouting_face:


    Die meisten Probleme macht man sich selber!

  • Verwendest du PluginDescriptor.WHERE_AUTOSTART / WHERE_SESSIONSTART? Also ich hab das im EPGRefresh so gemacht:


    Code
    def autostart(reason, **kwargs):
    ...
    if reason == 1:
    epgrefresh.myEpgCacheInstance = None

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Nein. Das habe ich nicht gesetzt. Ich weiß auch ehrlich gesagt nicht genau was PluginDescriptor.WHERE_AUTOSTART / WHERE_SESSIONSTART dann bewirkt/ tut? :loudly_crying_face:
    Ich habe eben mal ins epgrefresh geschaut, aber so richtig durchsehen tue ich da nicht...
    Ich probiere mal.

    Die meisten Probleme macht man sich selber!

  • Mit folgendem code am Ende der Datei streamripper.py. Wo ich dann streamripperinstance in den Mainscreen importiere.

    Code
    streamripperinstance = StreamRipper()


    mit

    Python
    from StreamRipper import streamripperinstance

    Die meisten Probleme macht man sich selber!

    Einmal editiert, zuletzt von Bobo71 ()

  • Wäre es nicht einfacher, die instance über autostart zu erstellen? Dort mit reason == 0.


    Dann sollte das aus meiner Sicht schon klappen.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • So versuche ich das mal...

    Code
    # Autostart
    def autostart(reason, **kwargs):
    	if reason == 0:
    		ELOG('autostart] streamripperinstance start...')
    		streamripperinstance = StreamRipper()
    	elif reason == 1:
    		ELOG('autostart] streamripperinstance kill...')
    		streamripperinstance  = None

    Die meisten Probleme macht man sich selber!

  • jep, so würde ich das mal versuchen. Und dann eben PluginDescription.WHERE_AUTOSTART

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • jain..


    Ich kille mit reason 1 den Thread. Den Start habe ich unverändert gelassen.


    Jetzt restartet enigma sauber, und das wollte ich erreichen. Thx..,

    Die meisten Probleme macht man sich selber!