1 #include <u.h> 2 #include <libc.h> 3 #include <thread.h> 4 5 int chanprint(Channel * c,char * fmt,...)6chanprint(Channel *c, char *fmt, ...) 7 { 8 va_list arg; 9 char *p; 10 int n; 11 12 va_start(arg, fmt); 13 p = vsmprint(fmt, arg); 14 va_end(arg); 15 if(p == nil) 16 sysfatal("vsmprint failed: %r"); 17 n = sendp(c, p); 18 yield(); /* let recipient handle message immediately */ 19 return n; 20 } 21