From c59a7887caacf0a5463823bf40de2400b9363f76 Mon Sep 17 00:00:00 2001 From: 5ec1cff Date: Mon, 13 Nov 2023 21:54:50 +0800 Subject: [PATCH] refine tracing logic --- loader/src/ptracer/utils.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/loader/src/ptracer/utils.cpp b/loader/src/ptracer/utils.cpp index cc0ab4d..7988b37 100644 --- a/loader/src/ptracer/utils.cpp +++ b/loader/src/ptracer/utils.cpp @@ -347,15 +347,18 @@ void wait_for_trace(int pid, int* status, int flags) { while (true) { auto result = waitpid(pid, status, flags); if (result == -1) { - if (errno == EINTR) continue; - } else { - PLOGE("wait %d failed", pid); - exit(1); + if (errno == EINTR) { + continue; + } else { + PLOGE("wait %d failed", pid); + exit(1); + } } if (!WIFSTOPPED(*status)) { LOGE("process %d not stopped for trace: %s, exit", pid, parse_status(*status).c_str()); exit(1); } + return; } }