diff options
author | Rich Ercolani <[email protected]> | 2021-06-01 17:20:50 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2021-06-01 15:20:50 -0600 |
commit | 8bd41ebd543fd7e1a3e99f78fb51a1da9f232a86 (patch) | |
tree | 78b8757493964566eb189d848a0b74799b0548d3 | |
parent | e1af0d0d739c6f4b35caabccb38d00feb90363fd (diff) |
Added another missed case to arc_summary3
It turns out that sometimes, evidently only when run inside the
ZTS handler, arc_summary3 | head > /dev/null will die with ENOTCONN,
and ruin the test run.
Added handling for that.
Reviewed-by: John Kennedy <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Signed-off-by: Rich Ercolani <[email protected]>
Closes #12160
-rwxr-xr-x | cmd/arc_summary/arc_summary3 | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cmd/arc_summary/arc_summary3 b/cmd/arc_summary/arc_summary3 index d5b548999..7b28012ed 100755 --- a/cmd/arc_summary/arc_summary3 +++ b/cmd/arc_summary/arc_summary3 @@ -42,6 +42,7 @@ import os import subprocess import sys import time +import errno # We can't use env -S portably, and we need python3 -u to handle pipes in # the shell abruptly closing the way we want to, so... @@ -239,6 +240,11 @@ def handle_Exception(ex_cls, ex, tb): # It turns out that while sys.exit() triggers an exception # not handled message on Python 3.8+, os._exit() does not. os._exit(0) + + if ex_cls is OSError: + if ex.errno == errno.ENOTCONN: + sys.exit() + raise ex if hasattr(sys,'unraisablehook'): # Python 3.8+ |