[or-cvs] r24048: {arm} Fix for a minor concurrency bug that caused intermittent sta (in arm/trunk: . src/interface src/util)

Damian Johnson atagar1 at gmail.com
Fri Jan 7 16:10:09 UTC 2011


Author: atagar
Date: 2011-01-07 16:10:09 +0000 (Fri, 07 Jan 2011)
New Revision: 24048

Modified:
   arm/trunk/TODO
   arm/trunk/src/interface/controller.py
   arm/trunk/src/util/sysTools.py
Log:
Fix for a minor concurrency bug that caused intermittent stacktraces on shutdown.



Modified: arm/trunk/TODO
===================================================================
--- arm/trunk/TODO	2011-01-07 16:08:29 UTC (rev 24047)
+++ arm/trunk/TODO	2011-01-07 16:10:09 UTC (rev 24048)
@@ -88,6 +88,8 @@
 
 - Bugs
   * The default resolver isn't configurable.
+  * The config write dialog (ie, the one for saving the config) has its a
+    misaligned border when it's smaller than the top detail section.
   * The arm header panel doesn't properly reflect when the ip address
     changes. This provides a notice event saying:
     "Our IP Address has changed from X to Y; rebuilding descriptor (source Z)."

Modified: arm/trunk/src/interface/controller.py
===================================================================
--- arm/trunk/src/interface/controller.py	2011-01-07 16:08:29 UTC (rev 24047)
+++ arm/trunk/src/interface/controller.py	2011-01-07 16:10:09 UTC (rev 24048)
@@ -515,9 +515,9 @@
         
       if missingOptions:
         if len(missingOptions) > 1:
-          msg += "\n-configuration values are missing from the torrc: "
+          msg += "\n- configuration values are missing from the torrc: "
         else:
-          msg += "\n-configuration value is missing from the torrc: "
+          msg += "\n- configuration value is missing from the torrc: "
         
         missingOptions.sort()
         msg += ", ".join(missingOptions)

Modified: arm/trunk/src/util/sysTools.py
===================================================================
--- arm/trunk/src/util/sysTools.py	2011-01-07 16:08:29 UTC (rev 24047)
+++ arm/trunk/src/util/sysTools.py	2011-01-07 16:10:09 UTC (rev 24048)
@@ -520,7 +520,7 @@
             msg = "Unable to query process resource usage from proc (%s)" % exc
             log.log(CONFIG["log.stats.failedProcResolution"], msg)
             self._cond.acquire()
-            self._cond.wait(0.5)
+            if not self._halt: self._cond.wait(0.5)
             self._cond.release()
         else:
           # exponential backoff on making failed ps calls
@@ -528,7 +528,7 @@
           msg = "Unable to query process resource usage from ps, waiting %0.2f seconds (%s)" % (sleepTime, exc)
           log.log(CONFIG["log.stats.failedProcResolution"], msg)
           self._cond.acquire()
-          self._cond.wait(sleepTime)
+          if not self._halt: self._cond.wait(sleepTime)
           self._cond.release()
       
       # If this is the first run then the cpuSampling stat is meaningless



More information about the tor-commits mailing list