summaryrefslogtreecommitdiff
path: root/sys/kern/subr_kdb.c
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2011-12-17 15:11:22 +0000
committerAndriy Gapon <avg@FreeBSD.org>2011-12-17 15:11:22 +0000
commitbf8696b4083cbdb001f70be6e690394aa5761bc9 (patch)
treef97bd7f4e266f0d1fe17b6436a6567e54ea0a72e /sys/kern/subr_kdb.c
parent9976156f12f1be7cb85c90e9ef54be06690bc955 (diff)
downloadsrc-test2-bf8696b4083cbdb001f70be6e690394aa5761bc9.tar.gz
src-test2-bf8696b4083cbdb001f70be6e690394aa5761bc9.zip
Notes
Diffstat (limited to 'sys/kern/subr_kdb.c')
-rw-r--r--sys/kern/subr_kdb.c5
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