diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2011-12-17 15:11:22 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2011-12-17 15:11:22 +0000 |
commit | bf8696b4083cbdb001f70be6e690394aa5761bc9 (patch) | |
tree | f97bd7f4e266f0d1fe17b6436a6567e54ea0a72e /sys/kern/subr_kdb.c | |
parent | 9976156f12f1be7cb85c90e9ef54be06690bc955 (diff) | |
download | src-test2-bf8696b4083cbdb001f70be6e690394aa5761bc9.tar.gz src-test2-bf8696b4083cbdb001f70be6e690394aa5761bc9.zip |
Notes
Diffstat (limited to 'sys/kern/subr_kdb.c')
-rw-r--r-- | sys/kern/subr_kdb.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/kern/subr_kdb.c b/sys/kern/subr_kdb.c index 3c9d29bcb0e4..9ca34b12dbea 100644 --- a/sys/kern/subr_kdb.c +++ b/sys/kern/subr_kdb.c @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/systm.h> +#include <sys/cons.h> #include <sys/kdb.h> #include <sys/kernel.h> #include <sys/malloc.h> @@ -622,6 +623,8 @@ kdb_trap(int type, int code, struct trapframe *tf) makectx(tf, &kdb_pcb); kdb_thr_select(curthread); + cngrab(); + for (;;) { handled = be->dbbe_trap(type, code); if (be == kdb_dbbe) @@ -632,6 +635,8 @@ kdb_trap(int type, int code, struct trapframe *tf) printf("Switching to %s back-end\n", be->dbbe_name); } + cnungrab(); + kdb_active--; #ifdef SMP |