Author: avg
Date: Sat Dec 17 15:11:22 2011
New Revision: 228632
URL: http://svn.freebsd.org/changeset/base/228632

Log:
  introduce cngrab/cnungrab stub calls in some places where they make sense
  
  MFC after:    2 months

Modified:
  head/sys/kern/kern_cons.c
  head/sys/kern/kern_shutdown.c
  head/sys/kern/subr_kdb.c

Modified: head/sys/kern/kern_cons.c
==============================================================================
--- head/sys/kern/kern_cons.c   Sat Dec 17 15:08:43 2011        (r228631)
+++ head/sys/kern/kern_cons.c   Sat Dec 17 15:11:22 2011        (r228632)
@@ -427,8 +427,10 @@ cnputc(int c)
        if (console_pausing && c == '\n' && !kdb_active) {
                for (cp = console_pausestr; *cp != '\0'; cp++)
                        cnputc(*cp);
+               cngrab();
                if (cngetc() == '.')
                        console_pausing = 0;
+               cnungrab();
                cnputc('\r');
                for (cp = console_pausestr; *cp != '\0'; cp++)
                        cnputc(' ');

Modified: head/sys/kern/kern_shutdown.c
==============================================================================
--- head/sys/kern/kern_shutdown.c       Sat Dec 17 15:08:43 2011        
(r228631)
+++ head/sys/kern/kern_shutdown.c       Sat Dec 17 15:11:22 2011        
(r228632)
@@ -443,6 +443,8 @@ kern_reboot(int howto)
 
        print_uptime();
 
+       cngrab();
+
        /*
         * Ok, now do things that assume all filesystem activity has
         * been completed.
@@ -613,6 +615,7 @@ panic(const char *fmt, ...)
        if (newpanic) {
                (void)vsnprintf(buf, sizeof(buf), fmt, ap);
                panicstr = buf;
+               cngrab();
                printf("panic: %s\n", buf);
        } else {
                printf("panic: ");

Modified: head/sys/kern/subr_kdb.c
==============================================================================
--- head/sys/kern/subr_kdb.c    Sat Dec 17 15:08:43 2011        (r228631)
+++ head/sys/kern/subr_kdb.c    Sat Dec 17 15:11:22 2011        (r228632)
@@ -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 trap
        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 trap
                printf("Switching to %s back-end\n", be->dbbe_name);
        }
 
+       cnungrab();
+
        kdb_active--;
 
 #ifdef SMP
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to