Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libutil/ev_zmq: handle EV_ERROR on io watcher
Problem: ev_zmq ignores events on its internal io watcher, so when libev raises EV_ERROR on it because something went wrong internally, nothing happens. The internal io watcher is only used for its side effect of unblocking the reactor when pollevents edge triggers from "no events" to "some events". The prep/check/idle watchers do the heavy lifting. Add a check for pending EV_ERROR events on the io watcher in the check callback. If found, notify the user via the ev_zmq watcher callback. This tracks a similar change in libflux/ev_flux.c, based on experience with an internal failure documented in #2554.
- Loading branch information