From 108dfb6140e1e273766bd96dc38e6df92161b425 Mon Sep 17 00:00:00 2001 From: thomasv Date: Wed, 5 Dec 2012 10:24:30 +0100 Subject: [PATCH] revert to daemon threads because some clients do not seem to close their sockets cleanly --- electrum | 5 ++++- lib/verifier.py | 2 +- lib/wallet.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/electrum b/electrum index 9b40bab07..6550ebf9f 100755 --- a/electrum +++ b/electrum @@ -17,7 +17,7 @@ # along with this program. If not, see . import re -import sys, os +import sys, os, time import optparse try: @@ -256,6 +256,9 @@ if __name__ == '__main__': synchronizer.stop() interface.stop() + # we use daemon threads, their termination is enforced. + # this sleep command gives them time to terminate cleanly. + time.sleep(0.1) sys.exit(0) if cmd not in known_commands: diff --git a/lib/verifier.py b/lib/verifier.py index 578c8a638..646b64670 100644 --- a/lib/verifier.py +++ b/lib/verifier.py @@ -29,7 +29,7 @@ class WalletVerifier(threading.Thread): def __init__(self, interface, config): threading.Thread.__init__(self) - #self.daemon = True + self.daemon = True self.config = config self.interface = interface self.transactions = {} # requested verifications (with height sent by the requestor) diff --git a/lib/wallet.py b/lib/wallet.py index 45fdb9dd5..3cf962d7c 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -1156,7 +1156,7 @@ class WalletSynchronizer(threading.Thread): def __init__(self, wallet, config): threading.Thread.__init__(self) - # self.daemon = True + self.daemon = True self.wallet = wallet self.interface = self.wallet.interface self.interface.register_channel('synchronizer')