aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtest/test_punt.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/test/test_punt.py b/test/test_punt.py
index bc2196eee1f..3471a3f7dd5 100755
--- a/test/test_punt.py
+++ b/test/test_punt.py
@@ -46,11 +46,11 @@ class serverSocketThread(threading.Thread):
self.sockName = sockName
self.sock = None
self.rx_pkts = []
- self.keep_running = True
+ self.stop_running = False
def rx_packets(self):
# Wait for some packets on socket
- while self.keep_running:
+ while True:
try:
data = self.sock.recv(65536)
@@ -61,7 +61,9 @@ class serverSocketThread(threading.Thread):
self.rx_pkts.append(Ether(data[8:]))
except IOError as e:
if e.errno == 11:
- # nothing to receive, sleep a little
+ # nothing to receive, stop running or sleep a little
+ if self.stop_running:
+ break
time.sleep(0.1)
pass
else:
@@ -81,9 +83,9 @@ class serverSocketThread(threading.Thread):
self.rx_packets()
def close(self):
- self.sock.close()
- self.keep_running = False
+ self.stop_running = True
threading.Thread.join(self)
+ self.sock.close()
return self.rx_pkts