Messages in this thread Patch in this message | | | Date | Wed, 10 Mar 2021 12:41:17 -0800 | Subject | [PATCH 2/3] perf test: Cleanup daemon if test is interrupted. | From | Ian Rogers <> |
| |
Reorder daemon_start and daemon_exit as the trap handler is added in daemon_start referencing daemon_exit.
Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/tests/shell/daemon.sh | 34 +++++++++++++++++++------------- 1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/tools/perf/tests/shell/daemon.sh b/tools/perf/tests/shell/daemon.sh index 66ad56b4e0a5..a02cedc76de6 100755 --- a/tools/perf/tests/shell/daemon.sh +++ b/tools/perf/tests/shell/daemon.sh @@ -98,6 +98,23 @@ check_line_other() fi } +daemon_exit() +{ + local config=$1 + + local line=`perf daemon --config ${config} -x: | head -1` + local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` + + # Reset trap handler. + trap - SIGINT SIGTERM + + # stop daemon + perf daemon stop --config ${config} + + # ... and wait for the pid to go away + tail --pid=${pid} -f /dev/null +} + daemon_start() { local config=$1 @@ -105,6 +122,9 @@ daemon_start() perf daemon start --config ${config} + # Clean up daemon if interrupted. + trap "daemon_exit ${config}; exit 4" SIGINT SIGTERM + # wait for the session to ping local state="FAIL" while [ "${state}" != "OK" ]; do @@ -113,20 +133,6 @@ daemon_start() done } -daemon_exit() -{ - local config=$1 - - local line=`perf daemon --config ${config} -x: | head -1` - local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` - - # stop daemon - perf daemon stop --config ${config} - - # ... and wait for the pid to go away - tail --pid=${pid} -f /dev/null -} - test_list() { echo "test daemon list" -- 2.30.1.766.gb4fecdf3b7-goog
| |