mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-11 14:53:05 -05:00
MINOR: polling: make epoll and kqueue not depend on maxfd anymore
Maxfd is really only useful to poll() and select(), yet epoll and kqueue reference it almost by mistake : - cloning of the initial FDs (maxsock should be used here) - max polled events, it's maxpollevents which should be used here. Let's fix these places.
This commit is contained in:
parent
ccea35c980
commit
ce036bc2da
3 changed files with 4 additions and 4 deletions
|
|
@ -206,7 +206,7 @@ static int init_epoll_per_thread()
|
|||
* fd for this thread. Let's just mark them as updated, the poller will
|
||||
* do the rest.
|
||||
*/
|
||||
for (fd = 0; fd < maxfd; fd++)
|
||||
for (fd = 0; fd < global.maxsock; fd++)
|
||||
updt_fd_polling(fd);
|
||||
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ REGPRM2 static void _do_poll(struct poller *p, int exp)
|
|||
else
|
||||
activity[tid].poll_exp++;
|
||||
|
||||
fd = MIN(maxfd, global.tune.maxpollevents);
|
||||
fd = global.tune.maxpollevents;
|
||||
gettimeofday(&before_poll, NULL);
|
||||
status = kevent(kqueue_fd[tid], // int kq
|
||||
NULL, // const struct kevent *changelist
|
||||
|
|
@ -172,7 +172,7 @@ static int init_kqueue_per_thread()
|
|||
* fd for this thread. Let's just mark them as updated, the poller will
|
||||
* do the rest.
|
||||
*/
|
||||
for (fd = 0; fd < maxfd; fd++)
|
||||
for (fd = 0; fd < global.maxsock; fd++)
|
||||
updt_fd_polling(fd);
|
||||
|
||||
return 1;
|
||||
|
|
|
|||
2
src/fd.c
2
src/fd.c
|
|
@ -457,7 +457,7 @@ int list_pollers(FILE *out)
|
|||
int fork_poller()
|
||||
{
|
||||
int fd;
|
||||
for (fd = 0; fd <= maxfd; fd++) {
|
||||
for (fd = 0; fd < global.maxsock; fd++) {
|
||||
if (fdtab[fd].owner) {
|
||||
fdtab[fd].cloned = 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue