2016-11-25 17:18:40 +01:00
|
|
|
#include <u.h>
|
2017-04-19 23:33:14 +02:00
|
|
|
#include <lib9.h>
|
2016-11-25 17:18:40 +01:00
|
|
|
|
|
|
|
// Change-Id: I1cfd642d29a3955499b3507f56f0449d1710700e
|
|
|
|
// sys/src/nxm/port/devcons.c:
|
|
|
|
// make reads on #c/sysstat return only as many bytes as
|
|
|
|
// requested
|
|
|
|
|
|
|
|
void
|
|
|
|
main(void)
|
|
|
|
{
|
|
|
|
int ret; // 0 = pass, 1 = fail
|
|
|
|
int fd, n;
|
|
|
|
char buf[1];
|
|
|
|
|
|
|
|
fd = open("/dev/sysstat", OREAD);
|
|
|
|
if(fd < 0){
|
|
|
|
print("FAIL: couldn't open /dev/sysstat: %r\n");
|
|
|
|
exits("FAIL");
|
|
|
|
}
|
|
|
|
|
|
|
|
ret = 0;
|
|
|
|
for(;;){
|
|
|
|
n = read(fd, buf, sizeof(buf));
|
|
|
|
if(n <= 0)
|
|
|
|
break;
|
|
|
|
if(n > sizeof(buf))
|
|
|
|
ret = 1;
|
|
|
|
}
|
|
|
|
close(fd);
|
|
|
|
|
|
|
|
if(ret){
|
|
|
|
print("FAIL: %d bytes read from /dev/sysstat\n", n);
|
|
|
|
exits("FAIL");
|
|
|
|
}
|
|
|
|
print("PASS\n");
|
|
|
|
exits("PASS");
|
|
|
|
}
|