fix frequently segfault on clean shutdown
[enigma2.git] / lib / python / Components / Sources / Clock.py
index e2d7faa7fe1c212104b2069eaf71088618c3aa5e..8341ebecc9f734e526d2f14148755495ea0b3156 100644 (file)
@@ -1,6 +1,6 @@
-from Tools.Event import Event
+from Components.Element import cached
 from enigma import eTimer
-import time
+from time import time as getTime
 
 from Source import Source
 
@@ -11,10 +11,18 @@ class Clock(Source):
                self.clock_timer.timeout.get().append(self.poll)
                self.clock_timer.start(1000)
 
+       @cached
        def getClock(self):
-               return time.time()
+               return getTime()
 
        time = property(getClock)
 
        def poll(self):
                self.changed((self.CHANGED_POLL,))
+
+       def doSuspend(self, suspended):
+               if suspended:
+                       self.clock_timer.stop()
+               else:
+                       self.clock_timer.start(1000)
+                       self.poll()