[tor-commits] [nyx/master] Replace stop_controller() with halt() method
atagar at torproject.org
atagar at torproject.org
Mon Feb 15 14:45:09 UTC 2016
commit 9555a8a14a3940df452d5640d82f6921e17066e5
Author: Damian Johnson <atagar at torproject.org>
Date: Thu Feb 11 20:37:10 2016 -0800
Replace stop_controller() with halt() method
Feels a little better as a Controller method.
---
nyx/controller.py | 36 ++++++++++++++++--------------------
nyx/starter.py | 9 +++++----
2 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/nyx/controller.py b/nyx/controller.py
index e35c929..e143b49 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -56,26 +56,6 @@ def get_controller():
return NYX_CONTROLLER
-def stop_controller():
- """
- Halts our Controller, providing back the thread doing so.
- """
-
- def halt_controller():
- control = get_controller()
-
- if control:
- for panel_impl in control.get_daemon_panels():
- panel_impl.stop()
-
- for panel_impl in control.get_daemon_panels():
- panel_impl.join()
-
- halt_thread = threading.Thread(target = halt_controller)
- halt_thread.start()
- return halt_thread
-
-
class LabelPanel(panel.Panel):
"""
Panel that just displays a single line of text.
@@ -373,6 +353,22 @@ class Controller:
def quit(self):
self.quit_signal = True
+ def halt(self):
+ """
+ Halts curses panels, providing back the thread doing so.
+ """
+
+ def halt_panels():
+ for panel_impl in self.get_daemon_panels():
+ panel_impl.stop()
+
+ for panel_impl in self.get_daemon_panels():
+ panel_impl.join()
+
+ halt_thread = threading.Thread(target = halt_panels)
+ halt_thread.start()
+ return halt_thread
+
def start_nyx(stdscr):
"""
diff --git a/nyx/starter.py b/nyx/starter.py
index 6084d04..326bd82 100644
--- a/nyx/starter.py
+++ b/nyx/starter.py
@@ -265,10 +265,11 @@ def _shutdown_daemons(controller):
Stops and joins on worker threads.
"""
- halt_threads = [
- nyx.controller.stop_controller(),
- nyx.util.tracker.stop_trackers(),
- ]
+ halt_threads = [nyx.util.tracker.stop_trackers()]
+ controller = nyx.controller.get_controller()
+
+ if controller:
+ halt_threads.append(controller.halt())
for thread in halt_threads:
thread.join()
More information about the tor-commits
mailing list