int iprint(char *fmt, ...) { Mpl pl; int i, n, locked; va_list arg; char buf[PRINTSIZE]; pl = splhi(); va_start(arg, fmt); n = vseprint(buf, buf+sizeof(buf), fmt, arg) - buf; va_end(arg); locked = iprintcanlock(&iprintlock); for(i = 0; i < nconsdevs; i++) if((consdevs[i].flags&Ciprint) != 0){ if(consdevs[i].q != nil) qiwrite(consdevs[i].q, buf, n); else consdevs[i].fn(buf, n); } if(locked) unlock(&iprintlock); splx(pl); return n; }
int iprint(char *fmt, ...) { int n, s, locked; va_list arg; char buf[PRINTSIZE]; s = splhi(); va_start(arg, fmt); n = vseprint(buf, buf+sizeof(buf), fmt, arg) - buf; va_end(arg); locked = iprintcanlock(&iprintlock); if(screenputs != nil && iprintscreenputs) screenputs(buf, n); uartputs(buf, n); if(locked) unlock(&iprintlock); splx(s); return n; }
int iprint(char *fmt, ...) { int8_t s = 0; int n, locked; va_list arg; char buf[PRINTSIZE]; disable_irqsave(&s); va_start(arg, fmt); n = vsnprintf(buf, sizeof(buf), fmt, arg); va_end(arg); locked = iprintcanlock(&iprintlock); if (screenputs != NULL && iprintscreenputs) screenputs(buf, n); #if 0 uartputs(buf, n); #endif if (locked) spin_unlock(&iprintlock); enable_irqsave(&s); return n; }