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