diff options
Diffstat (limited to 'libglusterfs/src')
-rw-r--r-- | libglusterfs/src/event-epoll.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libglusterfs/src/event-epoll.c b/libglusterfs/src/event-epoll.c index 8d42fa71fb6..a8e9a08b93d 100644 --- a/libglusterfs/src/event-epoll.c +++ b/libglusterfs/src/event-epoll.c @@ -573,9 +573,11 @@ pre_unlock: thread calling event_select_on_epoll() while this thread was busy in handler() */ - event->events = slot->events; - ret = epoll_ctl (event_pool->fd, EPOLL_CTL_MOD, - fd, event); + if (slot->in_handler == 0) { + event->events = slot->events; + ret = epoll_ctl (event_pool->fd, EPOLL_CTL_MOD, + fd, event); + } } post_unlock: UNLOCK (&slot->lock); |