Browse Source

better test

master
Felix von Leitner 6 months ago
parent
commit
45c5556548
  1. 8
      t.c

8
t.c

@ -121,13 +121,15 @@ int main(int argc,char* argv[]) {
io_wantread(pfd[1]);
size_t totalread = 0;
size_t totalwrite = 0;
for (; iob_bytesleft(b) ;) {
for (;;) {
io_wait();
int fd;
while ((fd = io_canwrite()) != -1) {
// printf("write event on fd %d\n", fd);
long r = iob_send(pfd[0], b);
if (r > 0) totalwrite += r;
if (r == 0)
io_dontwantwrite(pfd[0]);
printf("r = %d (sum written %zu, total back size %zu)\n", r, totalwrite, total);
}
while ((fd = io_canread()) != -1) {
@ -135,6 +137,10 @@ int main(int argc,char* argv[]) {
ssize_t r = read(fd, buf, sizeof buf);
if (r > 0) totalread += r;
if (r < sizeof buf) io_eagain(fd);
if (r == 0 || totalread == total) {
printf("read %zu bytes total\n", totalread);
return totalread == total;
}
}
}

Loading…
Cancel
Save