#include <u.h>
#include <libc.h>
#include <thread.h>
int
chanprint(Channel *c, char *fmt, ...)
{
va_list arg;
char *buf;
enum {NBUF=1024};
int n;
buf = malloc(NBUF);
if(buf == nil)
sysfatal("malloc failed: %r");
va_start(arg, fmt);
doprint(buf, buf+NBUF, fmt, arg);
va_end(arg);
n = sendp(c, buf);
yield(); /* let recipient handle message immediately */
return n;
}