diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/console.c | 6 | ||||
| -rw-r--r-- | kernel/printf.c | 2 | 
2 files changed, 7 insertions, 1 deletions
| diff --git a/kernel/console.c b/kernel/console.c index 2b1ed3c..1885593 100644 --- a/kernel/console.c +++ b/kernel/console.c @@ -66,6 +66,12 @@ int  consolewrite(int user_src, uint64 src, int n)  {    int i; +  extern volatile int panicked; // from printf.c + +  if(panicked){ +    for(;;) +      ; +  }    acquire(&cons.lock);    for(i = 0; i < n; i++){ diff --git a/kernel/printf.c b/kernel/printf.c index 777cc5f..1a83284 100644 --- a/kernel/printf.c +++ b/kernel/printf.c @@ -121,7 +121,7 @@ panic(char *s)    printf("panic: ");    printf(s);    printf("\n"); -  panicked = 1; // freeze other CPUs +  panicked = 1; // freeze output from other CPUs    for(;;)      ;  } | 
