diff options
author | Azat Khuzhin <azat@libevent.org> | 2020-04-09 02:16:15 +0300 |
---|---|---|
committer | Azat Khuzhin <azat@libevent.org> | 2020-05-04 23:58:28 +0300 |
commit | 9543f31a1a6cc2f919f57bfc2fd55068262a3f27 (patch) | |
tree | fa1653a9e144ed25236e5b188f569ecb304dc1fe | |
parent | e703c034cbc7c8a58cee77db6c7e81d63f286ad5 (diff) | |
download | libevent-9543f31a1a6cc2f919f57bfc2fd55068262a3f27.tar.gz |
Avoid triggering wrong events with EV_ET set
For the event at least something except EV_ET should be set, so checking
ev->ev_events with "triggered" events is wrong, because EV_ET is always
passed (see epoll), since it will be filtered out if it is not set in
event.
-rw-r--r-- | evmap.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -432,7 +432,7 @@ evmap_io_active_(struct event_base *base, evutil_socket_t fd, short events) if (NULL == ctx) return; LIST_FOREACH(ev, &ctx->events, ev_io_next) { - if (ev->ev_events & events) + if (ev->ev_events & (events & ~EV_ET)) event_active_nolock_(ev, ev->ev_events & events, 1); } } |