chanprint.c 328 B

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