Author: dmeyer
Date: Tue Feb 12 18:24:46 2008
New Revision: 3050

Log:
remove timer with circular ref

Modified:
   trunk/base/src/notifier/yieldfunc.py

Modified: trunk/base/src/notifier/yieldfunc.py
==============================================================================
--- trunk/base/src/notifier/yieldfunc.py        (original)
+++ trunk/base/src/notifier/yieldfunc.py        Tue Feb 12 18:24:46 2008
@@ -263,15 +263,18 @@
         """
         Restart timer.
         """
-        if self._timer:
-            # continue calling _step
-            self._timer.start(self._interval)
         if len(args) == 3 and isinstance(args[1], Exception):
             # An InProgress we were waiting on raised an exception.  We are
             # "inheriting" this exception, so return False to prevent it
             # from being logged as unhandled in the other InProgress.
+            self._timer = None
+            self._async = None
+            self._yield__function = None
             self.throw(*args)
             return False
+        if self._timer:
+            # continue calling _step
+            self._timer.start(self._interval)
 
 
     def _step(self):
@@ -291,6 +294,7 @@
                 break
         except (SystemExit, KeyboardInterrupt):
             self._timer.stop()
+            self._timer = None
             self._async = None
             self._yield__function = None
             sys.exit(0)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to