PTRACE_DETACH
case PTRACE_DETACH:
request = PTRACE_DETACH;
request = PTRACE_DETACH;
request = PTRACE_DETACH;
} else if (ptrace_id == PTRACE_DETACH) {
case PTRACE_DETACH: /* detach a process that was attached. */
if (ret || request != PTRACE_DETACH)
if (ret || request != PTRACE_DETACH)
proc_ptrace_connector(child, PTRACE_DETACH);
if (ptrace(PTRACE_DETACH, child, NULL, NULL)) {
if (ptrace(PTRACE_DETACH, child, NULL, NULL)) {
if (!continue_breakpoint(child, PTRACE_DETACH))
if (ptrace(PTRACE_DETACH, pid, NULL, NULL))
if (ptrace(PTRACE_DETACH, pid, NULL, NULL))
ASSERT_EQ(0, ptrace(PTRACE_DETACH, parent, NULL, 0));
ASSERT_EQ(0, ptrace(PTRACE_DETACH, child, NULL, 0));
EXPECT_EQ(-1, ptrace(PTRACE_DETACH, child, NULL, 0));
ASSERT_EQ(0, ptrace(PTRACE_DETACH, child, NULL, 0));
EXPECT_EQ(-1, ptrace(PTRACE_DETACH, child, NULL, 0));
ret = ptrace(PTRACE_DETACH, child_pid, ignored, 0);
ret = ptrace(PTRACE_DETACH, child, NULL, NULL);
k = ptrace(PTRACE_DETACH, pid, 0L, 0L);
if (ptrace(PTRACE_DETACH, chld, NULL, NULL) != 0)
if (ptrace(PTRACE_DETACH, parent, NULL, NULL) != 0)
ptrace(PTRACE_DETACH, testpid, NULL, NULL);
if (ptrace(PTRACE_DETACH, pid, NULL, NULL)) {
ptrace(PTRACE_DETACH, child, NULL, NULL);