sysstatread.c 538 B

12345678910111213141516171819202122232425262728293031323334
  1. #include <u.h>
  2. #include <libc.h>
  3. // Change-Id: I1cfd642d29a3955499b3507f56f0449d1710700e
  4. // sys/src/nxm/port/devcons.c:
  5. // make reads on #c/sysstat return only as many bytes as
  6. // requested
  7. void
  8. main(void)
  9. {
  10. int ret; // 0 = pass, 1 = fail
  11. int fd, n;
  12. char buf[1];
  13. fd = open("/dev/sysstat", OREAD);
  14. if(fd < 0){
  15. print("couldn't open /dev/sysstat: %r\n");
  16. exits("FAIL");
  17. }
  18. ret = 0;
  19. for(;;){
  20. n = read(fd, buf, sizeof(buf));
  21. if(n <= 0)
  22. break;
  23. if(n > sizeof(buf))
  24. ret = 1;
  25. }
  26. close(fd);
  27. if(ret)
  28. exits("FAIL");
  29. }