Fix infinite loop in the legacy poller
This commit is contained in:
6
common.c
6
common.c
@@ -1331,12 +1331,10 @@ poller_run (struct poller *self)
|
||||
for (int i = 0; i < (int) self->len; )
|
||||
{
|
||||
struct pollfd pfd = self->fds[i];
|
||||
if (!pfd.revents)
|
||||
continue;
|
||||
|
||||
struct poller_info *info = self->fds_info + i;
|
||||
self->dispatch_next = ++i;
|
||||
info->dispatcher (&pfd, info->user_data);
|
||||
if (pfd.revents)
|
||||
info->dispatcher (&pfd, info->user_data);
|
||||
i = self->dispatch_next;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user