Ignore broken pipes

Ignore broken pipes to allow pipping to other programs (less, head, …)
without python raising an exception when output is cut short
This commit is contained in:
Romuald Brunet 2016-09-13 10:06:00 +02:00
parent 7b09d8759f
commit bf3609700e
1 changed files with 11 additions and 0 deletions

View File

@ -541,6 +541,16 @@ def ctrl_c(signum, frame):
raise SystemExit('\nCancelling...')
def sig_pipe(signum, frame):
"""Ignore the PIPE signal when trying to output on a closed file handle,
and simply exit
"""
global shutdown_event
shutdown_event.set()
raise SystemExit
def version():
"""Print the version"""
@ -554,6 +564,7 @@ def speedtest():
shutdown_event = threading.Event()
signal.signal(signal.SIGINT, ctrl_c)
signal.signal(signal.SIGPIPE, sig_pipe)
description = (
'Command line interface for testing internet bandwidth using '