Lines Matching refs:child

95             // As recommended by ptrace(2), raise SIGTRAP to pause the child
101 Parent { child } => {
103 waitpid(child, None),
104 Ok(WaitStatus::Stopped(child, Signal::SIGTRAP))
106 ptrace::cont(child, None).unwrap();
108 waitpid(child, None),
109 Ok(WaitStatus::Stopped(child, Signal::SIGTRAP))
111 ptrace::cont(child, Some(Signal::SIGKILL)).unwrap();
112 match waitpid(child, None) {
114 if pid == child =>
120 let _ = waitpid(child, Some(WaitPidFlag::WNOHANG));
121 while ptrace::cont(child, Some(Signal::SIGKILL)).is_ok() {
122 let _ = waitpid(child, Some(WaitPidFlag::WNOHANG));
150 Parent { child } => {
151 ptrace::seize(child, ptrace::Options::PTRACE_O_TRACESYSGOOD)
153 ptrace::interrupt(child).unwrap();
155 waitpid(child, None),
156 Ok(WaitStatus::PtraceEvent(child, Signal::SIGTRAP, 128))
158 ptrace::syscall(child, None).unwrap();
160 waitpid(child, None),
161 Ok(WaitStatus::PtraceSyscall(child))
163 ptrace::detach(child, Some(Signal::SIGKILL)).unwrap();
164 match waitpid(child, None) {
166 if pid == child =>
168 let _ = waitpid(child, Some(WaitPidFlag::WNOHANG));
169 while ptrace::cont(child, Some(Signal::SIGKILL)).is_ok() {
170 let _ = waitpid(child, Some(WaitPidFlag::WNOHANG));
211 Parent { child } => {
213 waitpid(child, None),
214 Ok(WaitStatus::Stopped(child, Signal::SIGSTOP))
218 ptrace::setoptions(child, ptrace::Options::PTRACE_O_TRACESYSGOOD)
223 || ptrace::getregs(child).unwrap().orig_rax as libc::c_long;
227 || ptrace::getregs(child).unwrap().orig_eax as libc::c_long;
238 ptrace::read_user(child, rax_offset as _).unwrap()
243 ptrace::syscall(child, None).unwrap();
245 waitpid(child, None),
246 Ok(WaitStatus::PtraceSyscall(child))
252 ptrace::syscall(child, None).unwrap();
254 waitpid(child, None),
255 Ok(WaitStatus::PtraceSyscall(child))
261 ptrace::syscall(child, None).unwrap();
263 waitpid(child, None),
264 Ok(WaitStatus::Stopped(child, Signal::SIGTERM))
268 ptrace::syscall(child, Signal::SIGTERM).unwrap();
270 waitpid(child, None),
271 Ok(WaitStatus::Signaled(child, Signal::SIGTERM, false))