commit bbe7b277d2e8815977e399d2dad25e535c09b13d
parent 5f3b6af2e03414e58b9ad1ff4d1df89847dd89a5
Author: ThomasV <thomasv@electrum.org>
Date: Sat, 4 Jun 2016 12:58:29 +0200
call jnius.detach on thread stop
Diffstat:
4 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/daemon.py b/lib/daemon.py
@@ -220,6 +220,7 @@ class Daemon(DaemonThread):
self.print_error("shutting down network")
self.network.stop()
self.network.join()
+ self.on_stop()
def stop(self):
self.print_error("stopping, removing lockfile")
diff --git a/lib/network.py b/lib/network.py
@@ -814,7 +814,7 @@ class Network(util.DaemonThread):
self.process_pending_sends()
self.stop_network()
- self.print_error("stopped")
+ self.on_stop()
def on_header(self, i, header):
height = header.get('block_height')
diff --git a/lib/plugins.py b/lib/plugins.py
@@ -169,7 +169,7 @@ class Plugins(DaemonThread):
while self.is_running():
time.sleep(0.1)
self.run_jobs()
- self.print_error("stopped")
+ self.on_stop()
hook_names = set()
diff --git a/lib/util.py b/lib/util.py
@@ -149,6 +149,12 @@ class DaemonThread(threading.Thread, PrintError):
with self.running_lock:
self.running = False
+ def on_stop(self):
+ if 'ANDROID_DATA' in os.environ:
+ import jnius
+ jnius.detach()
+ self.print_error("jnius detach")
+ self.print_error("stopped")
is_verbose = False