summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Selector.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2014-06-05 12:53:17 +0200
committerBenoit Foucher <benoit@zeroc.com>2014-06-05 12:53:17 +0200
commit7a379b22791281c4981e24e086d03b055c0bdb9e (patch)
tree4fab33be6784dd3938724795c25a366209a1e498 /cpp/src/Ice/Selector.cpp
parentFixed ICE-5551: timeout test failure with ssl/wss (diff)
downloadice-7a379b22791281c4981e24e086d03b055c0bdb9e.tar.bz2
ice-7a379b22791281c4981e24e086d03b055c0bdb9e.tar.xz
ice-7a379b22791281c4981e24e086d03b055c0bdb9e.zip
Fixed ICE-5490: selector doesn't check for EPOLLERR on Linux
Diffstat (limited to 'cpp/src/Ice/Selector.cpp')
-rw-r--r--cpp/src/Ice/Selector.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/Ice/Selector.cpp b/cpp/src/Ice/Selector.cpp
index cd6c4c8de1a..e7cc3e1bfc7 100644
--- a/cpp/src/Ice/Selector.cpp
+++ b/cpp/src/Ice/Selector.cpp
@@ -488,7 +488,7 @@ Selector::select(vector<pair<EventHandler*, SocketOperation> >& handlers, int ti
#if defined(ICE_USE_EPOLL)
struct epoll_event& ev = _events[i];
p.first = reinterpret_cast<EventHandler*>(ev.data.ptr);
- p.second = static_cast<SocketOperation>(((ev.events & EPOLLIN) ?
+ p.second = static_cast<SocketOperation>(((ev.events & (EPOLLIN | EPOLLERR)) ?
SocketOperationRead : SocketOperationNone) |
((ev.events & (EPOLLOUT | EPOLLERR)) ?
SocketOperationWrite : SocketOperationNone));