xref: /plan9/sys/src/libthread/chanprint.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1 #include <u.h>
2 #include <libc.h>
3 #include <thread.h>
4 
5 int
chanprint(Channel * c,char * fmt,...)6 chanprint(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