diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-22 01:11:07 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-22 01:11:07 +0000 |
commit | a07f6ef2d8f6be8c2da518062a02a869a1448f39 (patch) | |
tree | da0c365d3a91eb655abe41fbe7a08c0e8833ce7a /libunwindstack/tests/TestUtils.h | |
parent | de75575afca23fc9f7e3089ebbcb754a5d164657 (diff) | |
parent | 422b01c9de34c91ef9c68c40f961517a1df965d4 (diff) | |
download | unwinding-a07f6ef2d8f6be8c2da518062a02a869a1448f39.tar.gz |
Snap for 8485504 from 422b01c9de34c91ef9c68c40f961517a1df965d4 to tm-release
Change-Id: If9e119bd7e022f61b28990c85df70193bcbf4e0c
Diffstat (limited to 'libunwindstack/tests/TestUtils.h')
-rw-r--r-- | libunwindstack/tests/TestUtils.h | 60 |
1 files changed, 1 insertions, 59 deletions
diff --git a/libunwindstack/tests/TestUtils.h b/libunwindstack/tests/TestUtils.h index 44b4e75..2378fd5 100644 --- a/libunwindstack/tests/TestUtils.h +++ b/libunwindstack/tests/TestUtils.h @@ -17,12 +17,10 @@ #ifndef _LIBUNWINDSTACK_TESTS_TEST_UTILS_H #define _LIBUNWINDSTACK_TESTS_TEST_UTILS_H -#include <errno.h> #include <signal.h> -#include <sys/ptrace.h> +#include <stdint.h> #include <sys/types.h> #include <sys/wait.h> -#include <unistd.h> namespace unwindstack { @@ -38,62 +36,6 @@ class TestScopedPidReaper { pid_t pid_; }; -inline bool TestQuiescePid(pid_t pid) { - siginfo_t si; - // Wait for up to 10 seconds. - for (size_t i = 0; i < 10000; i++) { - if (ptrace(PTRACE_GETSIGINFO, pid, 0, &si) == 0) { - return true; - } - if (errno != ESRCH) { - if (errno == EINVAL) { - // The process is in group-stop state, so try and kick the - // process out of that state. - if (ptrace(PTRACE_LISTEN, pid, 0, 0) == -1) { - perror("ptrace listen failed."); - return false; - } - } else { - return false; - } - } - usleep(1000); - } - return false; -} - -inline bool TestAttach(pid_t pid) { - // Wait up to 10 seconds to attach. - for (size_t j = 0; j < 10000; j++) { - if (ptrace(PTRACE_ATTACH, pid, 0, 0) == 0) { - break; - } - if (errno == ESRCH) { - usleep(1000); - continue; - } - perror("Failed to attach."); - return false; - } - - if (TestQuiescePid(pid)) { - return true; - } - - if (ptrace(PTRACE_DETACH, pid, 0, 0) == -1) { - perror("Failed to detach."); - } - return false; -} - -inline bool TestDetach(pid_t pid) { - if (ptrace(PTRACE_DETACH, pid, 0, 0) == -1) { - perror("ptrace detach failed"); - return false; - } - return true; -} - void TestCheckForLeaks(void (*unwind_func)(void*), void* data); void* GetTestLibHandle(); |