diff options
author | Niels Provos <provos@gmail.com> | 2008-07-25 01:18:40 +0000 |
---|---|---|
committer | Niels Provos <provos@gmail.com> | 2008-07-25 01:18:40 +0000 |
commit | 1aa6826f62880be761834bc1317ac0cb8dc398f4 (patch) | |
tree | 432586ae1d864b45d04ac2abedc2e1c30de701f4 /devpoll.c | |
parent | 3b24f4eedc2a60247496de74c85bc0997461edba (diff) | |
download | libevent-1aa6826f62880be761834bc1317ac0cb8dc398f4.tar.gz |
fix off by one errors in devpoll; from Ian Bell
svn:r921
Diffstat (limited to 'devpoll.c')
-rw-r--r-- | devpoll.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -137,7 +137,7 @@ devpoll_init(struct event_base *base) if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_cur != RLIM_INFINITY) - nfiles = rl.rlim_cur - 1; + nfiles = rl.rlim_cur; /* Initialize the kernel queue */ if ((dpfd = open("/dev/poll", O_RDWR)) == -1) { @@ -185,12 +185,12 @@ devpoll_recalc(struct event_base *base, void *arg, int max) { struct devpollop *devpollop = arg; - if (max > devpollop->nfds) { + if (max >= devpollop->nfds) { struct evdevpoll *fds; int nfds; nfds = devpollop->nfds; - while (nfds < max) + while (nfds <= max) nfds <<= 1; fds = mm_realloc(devpollop->fds, nfds * sizeof(struct evdevpoll)); |