trace: Exit with nonzero return code on error
diff --git a/tools/trace.py b/tools/trace.py
index 1c6b339..aac60e3 100755
--- a/tools/trace.py
+++ b/tools/trace.py
@@ -691,10 +691,13 @@
self._attach_probes()
self._main_loop()
except:
+ exc_info = sys.exc_info()
+ sys_exit = exc_info[0] is SystemExit
if self.args.verbose:
traceback.print_exc()
- elif sys.exc_info()[0] is not SystemExit:
- print(sys.exc_info()[1])
+ elif not sys_exit:
+ print(exc_info[1])
+ exit(0 if sys_exit else 1)
if __name__ == "__main__":
Tool().run()