[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [arm/master] fix: Log panel busy wait during curses lock



commit 6f46b55a97e67922d5d6aa1b1ec8340e5085a406
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date:   Fri May 13 08:17:13 2011 -0700

    fix: Log panel busy wait during curses lock
    
    If we registered events while the curses lock was held (for instance with a
    popup or prompt for user input) then arm would peg the cpu. The reason for
    this was that the log panel was attempting to redraw itself, but not
    registering any of the attempts since they all failed so it became a busy
    wait.
---
 src/cli/logPanel.py |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/cli/logPanel.py b/src/cli/logPanel.py
index 34bf759..6d54ab4 100644
--- a/src/cli/logPanel.py
+++ b/src/cli/logPanel.py
@@ -1079,6 +1079,10 @@ class LogPanel(panel.Panel, threading.Thread):
       else:
         lastDay = currentDay
         self.redraw(True)
+        
+        # makes sure that we register this as an update, otherwise lacking the
+        # curses lock can cause a busy wait here
+        self._lastUpdate = time.time()
   
   def stop(self):
     """

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits