From: Fredrik Tolf Date: Sat, 1 Oct 2011 03:07:44 +0000 (+0200) Subject: Merge branch 'master' of git.dolda2000.com:/srv/git/r/ashd X-Git-Tag: 0.9~1 X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=commitdiff_plain;h=ae13a8b18216c45b0e75060a4df65659e572822a;hp=a017e22882b2e4b2a1fa0c3b077bc87a89906a69 Merge branch 'master' of git.dolda2000.com:/srv/git/r/ashd --- diff --git a/lib/mtio-epoll.c b/lib/mtio-epoll.c index 511af81..85ee4a1 100644 --- a/lib/mtio-epoll.c +++ b/lib/mtio-epoll.c @@ -188,7 +188,7 @@ void ioloop(void) nev = epoll_wait(epfd, evr, sizeof(evr) / sizeof(*evr), toval); if(nev < 0) { if(errno != EINTR) { - flog(LOG_CRIT, "ioloop: select errored out: %s", strerror(errno)); + flog(LOG_CRIT, "ioloop: epoll_wait errored out: %s", strerror(errno)); /* To avoid CPU hogging in case it's bad, which it * probably is. */ sleep(1); diff --git a/lib/mtio-select.c b/lib/mtio-select.c index eb84a45..6536c95 100644 --- a/lib/mtio-select.c +++ b/lib/mtio-select.c @@ -18,6 +18,8 @@ #include #include +#include +#include #include #include @@ -44,6 +46,11 @@ int block(int fd, int ev, time_t to) struct blocker *bl; int rv; + if(fd >= FD_SETSIZE) { + flog(LOG_ERR, "tried to use more file descriptors than select() can handle: fd %i", fd); + errno = EMFILE; + return(-1); + } omalloc(bl); bl->fd = fd; bl->ev = ev;