borgend/dreamtime.py

changeset 106
a7bdc239ef62
parent 101
3068b0de12ee
child 111
c3bc27cf5ece
--- a/borgend/dreamtime.py	Sun Feb 04 14:37:09 2018 +0000
+++ b/borgend/dreamtime.py	Mon Feb 05 10:25:17 2018 +0000
@@ -12,6 +12,8 @@
 import logging
 import math
 
+from .exprotect import protect_noreturn
+
 logger=logging.getLogger(__name__)
 
 _dreamtime_monitor=None
@@ -222,31 +224,27 @@
 
             return self
 
+        @protect_noreturn
         def handleSleepNotification_(self, aNotification):
             logger.info("System going to sleep")
-            try:
-                now=time.monotonic()
-                with self.__lock:
-                    self.__sleeptime=now
-                    callbacks=self.__callbacks.copy()
-                do_callbacks(callbacks, False)
-            except:
-                logger.exception("Bug in sleep handler")
+            now=time.monotonic()
+            with self.__lock:
+                self.__sleeptime=now
+                callbacks=self.__callbacks.copy()
+            do_callbacks(callbacks, False)
 
+        @protect_noreturn
         def handleWakeNotification_(self, aNotification):
             logger.info("System waking up from sleep")
-            try:
-                now=time.monotonic()
-                with self.__lock:
-                    if self.__sleeptime:
-                        slept=max(0, now-self.__sleeptime)
-                        logger.info("Slept %f seconds" % slept)
-                        self.__slept=self.__slept+slept
-                        self.__sleeptime=None
-                    callbacks=self.__callbacks.copy()
-                do_callbacks(callbacks, True)
-            except:
-                logger.exception("Bug in wakeup handler")
+            now=time.monotonic()
+            with self.__lock:
+                if self.__sleeptime:
+                    slept=max(0, now-self.__sleeptime)
+                    logger.info("Slept %f seconds" % slept)
+                    self.__slept=self.__slept+slept
+                    self.__sleeptime=None
+                callbacks=self.__callbacks.copy()
+            do_callbacks(callbacks, True)
 
         # Return dreamtime
         def dreamtime_sleeping(self, snapshot=Snapshot()):

mercurial