]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
msg/async/Epoll: make sure error event can be handle
authorHaomai Wang <haomai@xsky.com>
Fri, 17 Jun 2016 13:41:08 +0000 (21:41 +0800)
committerHaomai Wang <haomai@xsky.com>
Tue, 28 Jun 2016 14:29:59 +0000 (22:29 +0800)
Signed-off-by: Haomai Wang <haomai@xsky.com>
src/msg/async/EventEpoll.cc

index 86e8c9ab8288d9f100ae8da8e97d9b9d200ba599..ef478eb11f84f9698677836afb7d1a838f1f6614 100644 (file)
@@ -123,8 +123,8 @@ int EpollDriver::event_wait(vector<FiredFileEvent> &fired_events, struct timeval
 
       if (e->events & EPOLLIN) mask |= EVENT_READABLE;
       if (e->events & EPOLLOUT) mask |= EVENT_WRITABLE;
-      if (e->events & EPOLLERR) mask |= EVENT_WRITABLE;
-      if (e->events & EPOLLHUP) mask |= EVENT_WRITABLE;
+      if (e->events & EPOLLERR) mask |= EVENT_READABLE|EVENT_WRITABLE;
+      if (e->events & EPOLLHUP) mask |= EVENT_READABLE|EVENT_WRITABLE;
       fired_events[j].fd = e->data.fd;
       fired_events[j].mask = mask;
     }