diff --git a/event.c b/event.c index e50616c4..ed9a8981 100644 --- a/event.c +++ b/event.c @@ -3632,6 +3632,14 @@ event_base_dump_events(struct event_base *base, FILE *output) EVBASE_RELEASE_LOCK(base, th_base_lock); } +void +event_base_active_by_fd(struct event_base *base, evutil_socket_t fd, short events) +{ + EVBASE_ACQUIRE_LOCK(base, th_base_lock); + evmap_io_active_(base, fd, events); + EVBASE_RELEASE_LOCK(base, th_base_lock); +} + void event_base_add_virtual_(struct event_base *base) { diff --git a/include/event2/event.h b/include/event2/event.h index 609db9d9..2c93e9ab 100644 --- a/include/event2/event.h +++ b/include/event2/event.h @@ -1464,6 +1464,15 @@ void event_set_mem_functions( void event_base_dump_events(struct event_base *, FILE *); +/** + Activates all events for the given fd and event mask. + + @param fd An fd or signal + @param events One or more EV_* flags + */ +void event_base_active_by_fd(struct event_base *base, evutil_socket_t fd, short events); + + /** * Callback for iterating events in an event base via event_base_foreach_event */