From owner-cvs-all Fri Aug 30 21:25:52 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 50DCE37B400; Fri, 30 Aug 2002 21:25:47 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1777543E42; Fri, 30 Aug 2002 21:25:47 -0700 (PDT) (envelope-from bde@FreeBSD.org) Received: from freefall.freebsd.org (bde@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g7V4PkJU015128; Fri, 30 Aug 2002 21:25:46 -0700 (PDT) (envelope-from bde@freefall.freebsd.org) Received: (from bde@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g7V4Pjie015127; Fri, 30 Aug 2002 21:25:45 -0700 (PDT) Message-Id: <200208310425.g7V4Pjie015127@freefall.freebsd.org> From: Bruce Evans Date: Fri, 30 Aug 2002 21:25:45 -0700 (PDT) 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 X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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