trace: Exit with nonzero return code on error
@@ -691,10 +691,13 @@ trace 'p::SyS_nanosleep(struct timespec *ts) "sleep for %lld ns", ts->tv_nsec'
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()
