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