summaryrefslogtreecommitdiff
path: root/sys/src/9/port/devcons.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2011-12-13 16:07:52 +0100
committercinap_lenrek <cinap_lenrek@centraldogma>2011-12-13 16:07:52 +0100
commit36dc22fd5713cca65bbe31eb7d7a5a6d6b034637 (patch)
tree9bb380df8de8d9609010f94f74059e5946098752 /sys/src/9/port/devcons.c
parenta03d9a7985c7a2a6e72c997921c6fa4e73cddaca (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.c9
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);
}