Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Aug 2002 21:25:45 -0700 (PDT)
From:      Bruce Evans <bde@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ddb db_ps.c src/sys/i386/i386 db_interface.c
Message-ID:  <200208310425.g7V4Pjie015127@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         2002/08/30 21:25:45 PDT

  Modified files:
    sys/ddb              db_ps.c 
    sys/i386/i386        db_interface.c 
  Log:
  db_ps.c:
  Don't attempt to follow null pointers for zombie processes in db_ps().
  
  Style fix: use explicit an comparison with NULL for all null pointer
  checks in db_ps() instead of for half of them.
  
  db_interface.c:
  Fixed ddb's handling of traps from with ddb on i386's only.
  
  This was mostly fixed in rev.1.27 (by longjmp()'ing back to the top
  level) but was completly broken in rev.1.48 (by not unwinding the new
  state (mainly db_active) either before or after the longjmp().  This
  mostly never worked for other arches, since rev.1.27 has not been ported
  and lower level longjmp()'s only handle traps for memory accesses.  All
  cases should be handled at a lower level to provided better control and
  simplify unwinding of state.
  
  Implementation details: don't pretend to maintain db_active in a nested
  way -- ddb cannot be reentered in a nested way.  Use db_active instead
  of the db_global_jmpbuf_valid flag and longjmp()'s return value for things
  related to reentering ddb.  [re]entering is still not atomic enough.
  
  Revision  Changes    Path
  1.31      +6 -5      src/sys/ddb/db_ps.c
  1.68      +8 -8      src/sys/i386/i386/db_interface.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208310425.g7V4Pjie015127>