--- 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()):