Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/subr_syscall.c
Show First 20 Lines • Show All 84 Lines • ▼ Show 20 Lines | KTR_START4(KTR_SYSC, "syscall", syscallname(p, sa->code), | ||||
(uintptr_t)td, "pid:%d", td->td_proc->p_pid, "arg0:%p", sa->args[0], | (uintptr_t)td, "pid:%d", td->td_proc->p_pid, "arg0:%p", sa->args[0], | ||||
"arg1:%p", sa->args[1], "arg2:%p", sa->args[2]); | "arg1:%p", sa->args[1], "arg2:%p", sa->args[2]); | ||||
if (__predict_false(error != 0)) { | if (__predict_false(error != 0)) { | ||||
td->td_errno = error; | td->td_errno = error; | ||||
goto retval; | goto retval; | ||||
} | } | ||||
if (__predict_false((p->p_flag & P_TRACED) != 0)) { | if (__predict_false(traced)) { | ||||
PROC_LOCK(p); | PROC_LOCK(p); | ||||
if (p->p_ptevents & PTRACE_SCE) | if (p->p_ptevents & PTRACE_SCE) | ||||
ptracestop((td), SIGTRAP, NULL); | ptracestop((td), SIGTRAP, NULL); | ||||
PROC_UNLOCK(p); | PROC_UNLOCK(p); | ||||
} | } | ||||
if (__predict_false((td->td_dbgflags & TDB_USERWR) != 0)) { | if (__predict_false((td->td_dbgflags & TDB_USERWR) != 0)) { | ||||
/* | /* | ||||
* Reread syscall number and arguments if debugger | * Reread syscall number and arguments if debugger | ||||
▲ Show 20 Lines • Show All 143 Lines • Show Last 20 Lines |