cvs commit: src/sys/kern kern_exit.c kern_sig.c sys_process.c
src/sys/sys proc.h ptrace.h
Marcel Moolenaar
marcel at FreeBSD.org
Sun Jul 11 22:07:50 PDT 2004
marcel 2004-07-12 05:07:50 UTC
FreeBSD src repository
Modified files:
sys/kern kern_exit.c kern_sig.c sys_process.c
sys/sys proc.h ptrace.h
Log:
Implement the PT_LWPINFO request. This request can be used by the
tracing process to obtain information about the LWP that caused the
traced process to stop. Debuggers can use this information to select
the thread currently running on the LWP as the current thread.
The request has been made compatible with NetBSD for as much as
possible. This implementation differs from NetBSD in the following
ways:
1. The data argument is allowed to be smaller than the size of the
ptrace_lwpinfo structure known to the kernel, but not 0. This
is opposite to what NetBSD allows. The reason for this is that
we can extend the structure without affecting older binaries.
2. On NetBSD the tracing process is to set the pl_lwpid field to
the Id of the LWP it wants information of. We don't do that.
Our ptrace interface allows passing the LWP Id instead of the
PID. The tracing process is to set the PID to the LWP Id it
wants information of.
3. When the PID is actually the PID of the tracing process, this
request returns the information about the LWP that caused the
process to stop. This was the whole purpose of the request in
the first place.
When the traced process has exited, this request will return the
LWP Id 0, indicating that the process state is not the result of
an event specific to a LWP.
Revision Changes Path
1.239 +1 -0 src/sys/kern/kern_exit.c
1.283 +3 -0 src/sys/kern/kern_sig.c
1.122 +19 -0 src/sys/kern/sys_process.c
1.385 +1 -0 src/sys/sys/proc.h
1.23 +9 -0 src/sys/sys/ptrace.h
More information about the cvs-all
mailing list