summaryrefslogtreecommitdiffstats
path: root/Tools/ccbench/ccbench.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/ccbench/ccbench.py')
-rw-r--r--Tools/ccbench/ccbench.py25
1 files changed, 13 insertions, 12 deletions
diff --git a/Tools/ccbench/ccbench.py b/Tools/ccbench/ccbench.py
index 569ec21..02b192f 100644
--- a/Tools/ccbench/ccbench.py
+++ b/Tools/ccbench/ccbench.py
@@ -276,19 +276,19 @@ def _recv(sock, n):
return sock.recv(n).decode('ascii')
def latency_client(addr, nb_pings, interval):
- sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- _time = time.time
- _sleep = time.sleep
- def _ping():
- _sendto(sock, "%r\n" % _time(), addr)
- # The first ping signals the parent process that we are ready.
- _ping()
- # We give the parent a bit of time to notice.
- _sleep(1.0)
- for i in range(nb_pings):
- _sleep(interval)
+ with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as sock:
+ _time = time.time
+ _sleep = time.sleep
+ def _ping():
+ _sendto(sock, "%r\n" % _time(), addr)
+ # The first ping signals the parent process that we are ready.
_ping()
- _sendto(sock, LAT_END + "\n", addr)
+ # We give the parent a bit of time to notice.
+ _sleep(1.0)
+ for i in range(nb_pings):
+ _sleep(interval)
+ _ping()
+ _sendto(sock, LAT_END + "\n", addr)
def run_latency_client(**kwargs):
cmd_line = [sys.executable, '-E', os.path.abspath(__file__)]
@@ -363,6 +363,7 @@ def run_latency_test(func, args, nthreads):
for t in threads:
t.join()
process.wait()
+ sock.close()
for recv_time, chunk in chunks:
# NOTE: it is assumed that a line sent by a client wasn't received