diff options
author | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-12-13 16:07:52 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-12-13 16:07:52 +0100 |
commit | 36dc22fd5713cca65bbe31eb7d7a5a6d6b034637 (patch) | |
tree | 9bb380df8de8d9609010f94f74059e5946098752 /sys/src/9/port/devcons.c | |
parent | a03d9a7985c7a2a6e72c997921c6fa4e73cddaca (diff) |
panic(): dont print message twice. for terminals, dont auto reboot.
Diffstat (limited to 'sys/src/9/port/devcons.c')
-rw-r--r-- | sys/src/9/port/devcons.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/src/9/port/devcons.c b/sys/src/9/port/devcons.c index 07c9fde27..53025dd5b 100644 --- a/sys/src/9/port/devcons.c +++ b/sys/src/9/port/devcons.c @@ -240,7 +240,7 @@ iprint(char *fmt, ...) void panic(char *fmt, ...) { - int n, s; + int s; va_list arg; char buf[PRINTSIZE]; @@ -253,17 +253,16 @@ panic(char *fmt, ...) s = splhi(); strcpy(buf, "panic: "); va_start(arg, fmt); - n = vseprint(buf+strlen(buf), buf+sizeof(buf), fmt, arg) - buf; + vseprint(buf+strlen(buf), buf+sizeof(buf), fmt, arg); va_end(arg); iprint("%s\n", buf); if(consdebug) (*consdebug)(); splx(s); prflush(); - buf[n] = '\n'; - putstrn(buf, n+1); dumpstack(); - + if(!cpuserver) + for(;;); exit(1); } |