X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/768d7355deef8b14f6d2d5bdc9bc8d5f01d2d0aa..f32583326d21b9a17862bdd375fb307175fd6b27:/lib/event.c diff --git a/lib/event.c b/lib/event.c index dcf5f88..de761ff 100644 --- a/lib/event.c +++ b/lib/event.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -262,8 +263,13 @@ int ev_run(ev_source *ev) { if(FD_ISSET(fd, &ev->mode[mode].enabled) && fstat(fd, &sb) < 0) - error(errno, "fstat %d (%s)", fd, ev->mode[mode].fds[n].what); + error(errno, "mode %s fstat %d (%s)", + modenames[mode], fd, ev->mode[mode].fds[n].what); } + for(n = 0; n < maxfd; ++n) + if(FD_ISSET(n, &ev->mode[mode].enabled) + && fstat(n, &sb) < 0) + error(errno, "mode %s fstat %d", modenames[mode], n); } } return -1; @@ -429,9 +435,9 @@ void ev_report(ev_source *ev) { break; } if(n < ev->mode[mode].nfds) - snprintf(b, sizeof b, "%d(%s)", fd, ev->mode[mode].fds[n].what); + snprintf(b, sizeof b, "%d(%s)", fd, ev->mode[mode].fds[n].what); else - snprintf(b, sizeof b, "%d", fd); + snprintf(b, sizeof b, "%d", fd); dynstr_append(d, ' '); dynstr_append_string(d, b); }