From 4eab77fa1068551bc35cec10efc955bbf4815106 Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Mon, 5 Mar 2018 13:15:07 -0500 Subject: [PATCH] safe start_listening --- lbrynet/dht/node.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lbrynet/dht/node.py b/lbrynet/dht/node.py index 09842ed99..00ec2924b 100644 --- a/lbrynet/dht/node.py +++ b/lbrynet/dht/node.py @@ -168,12 +168,15 @@ class Node(object): yield self.hash_watcher.stop() def start_listening(self): - try: - self._listeningPort = self.reactor_listenUDP(self.port, self._protocol) - except error.CannotListenError as e: - import traceback - log.error("Couldn't bind to port %d. %s", self.port, traceback.format_exc()) - raise ValueError("%s lbrynet may already be running." % str(e)) + if not self._listeningPort: + try: + self._listeningPort = self.reactor_listenUDP(self.port, self._protocol) + except error.CannotListenError as e: + import traceback + log.error("Couldn't bind to port %d. %s", self.port, traceback.format_exc()) + raise ValueError("%s lbrynet may already be running." % str(e)) + else: + log.warning("Already bound to port %d", self._listeningPort.port) def bootstrap_join(self, known_node_addresses, finished_d): """