Date: Mon, 24 Mar 2003 02:17:14 -0800 (PST) From: Bruce Evans <bde@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 db_interface.c Message-ID: <200303241017.h2OAHEB5058289@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 2003/03/24 02:17:14 PST FreeBSD src repository Modified files: sys/i386/i386 db_interface.c Log: Disable interrupts while in kdb_trap() to handle cases where the caller doesn't do it. This fixes all known causes of "Context switches not allowed in the debugger" in mi_switch(). The main cause was trap_fatal() calling kdb_trap() with interrupts enabled. Switching to ithreads for interrupt handling then made fatal traps more fatal and harder to debug. The problem was limited in -current because most interrupt handlers are blocked by Giant, but it occurred almost deterministically for me because my clock interrupt handlers are non-fast and not blocked by Giant. Revision Changes Path 1.71 +7 -0 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?200303241017.h2OAHEB5058289>