void panic(char *fmt, ...) { int n; Mpl pl; va_list arg; char buf[PRINTSIZE]; consdevs[1].q = nil; /* don't try to write to /dev/kprint */ if(panicking) for(;;); panicking = 1; pl = splhi(); seprint(buf, buf+sizeof buf, "panic: cpu%d: ", machp()->machno); va_start(arg, fmt); n = vseprint(buf+strlen(buf), buf+sizeof(buf), fmt, arg) - buf; va_end(arg); iprint("%s\n", buf); if(consdebug) (*consdebug)(); splx(pl); //prflush(); buf[n] = '\n'; putstrn(buf, n+1); //dumpstack(); delay(1000); /* give time to consoles */ die("wait forever"); exit(1); }
void panic(char *fmt, ...) { int n, s; va_list arg; char buf[PRINTSIZE]; kprintoq = nil; /* don't try to write to /dev/kprint */ if(panicking) for(;;); panicking = 1; s = splhi(); strcpy(buf, "panic: "); va_start(arg, fmt); n = vseprint(buf+strlen(buf), buf+sizeof(buf), fmt, arg) - buf; va_end(arg); iprint("%s\n", buf); if(consdebug) (*consdebug)(); splx(s); prflush(); buf[n] = '\n'; putstrn(buf, n+1); dumpstack(); exit(1); }
static void scrprint(char *fmt, ...) { char buf[128]; va_list va; int n; va_start(va, fmt); n = vseprint(buf, buf+sizeof buf, fmt, va)-buf; va_end(va); putstrn(buf, n); }
int print(char *fmt, ...) { int n; va_list arg; char buf[PRINTSIZE]; va_start(arg, fmt); n = vseprint(buf, buf+sizeof(buf), fmt, arg) - buf; va_end(arg); putstrn(buf, n); return n; }
int print(char *fmt, ...) { int n; va_list arg; char buf[PRINTSIZE]; if (noprint) return -1; va_start(arg, fmt); n = vsnprintf(buf, sizeof(buf), fmt, arg); va_end(arg); putstrn(buf, n); return n; }
void panic(char *fmt, ...) { int n; va_list arg; char buf[PRINTSIZE]; setpanic(); kprintq.q = nil; strcpy(buf, "panic: "); va_start(arg, fmt); n = vseprint(buf+strlen(buf), buf+sizeof(buf)-1, fmt, arg) - buf; va_end(arg); buf[n] = '\n'; putstrn(buf, n+1); spllo(); dumpstack(); exit(1); }