From bf5fdab115d8dc583548f6c270353fdb6d01c3a0 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Tue, 27 Nov 2018 11:24:38 +1100 Subject: tester/tftpd: Set the socket option to reuse. --- tester/rt/tftpy/TftpServer.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tester/rt/tftpy/TftpServer.py b/tester/rt/tftpy/TftpServer.py index 95ca70e..8dc6d78 100644 --- a/tester/rt/tftpy/TftpServer.py +++ b/tester/rt/tftpy/TftpServer.py @@ -76,6 +76,13 @@ class TftpServer(TftpSession): else: raise TftpException("The tftproot does not exist.") + def __del__(self): + if self.sock is not None: + try: + self.sock.close() + except: + pass + def listen(self, listenip="", listenport=DEF_TFTP_PORT, timeout=SOCK_TIMEOUT): """Start a server listening on the supplied interface and port. This @@ -90,6 +97,7 @@ class TftpServer(TftpSession): try: # FIXME - sockets should be non-blocking self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.sock.bind((listenip, listenport)) _, self.listenport = self.sock.getsockname() except socket.error as err: -- cgit v1.2.3