summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2007-12-20 17:40:46 +0000
committerAndrew Stitcher <astitcher@apache.org>2007-12-20 17:40:46 +0000
commit9fb9ebd8b42b186e183751b6ac679c781b3acbb2 (patch)
tree840a89afec2cebcf798cc5afff8c840b3330ef11 /cpp
parent033d70f9992f1ab487d4dbe17b77a25f30934f86 (diff)
downloadqpid-python-9fb9ebd8b42b186e183751b6ac679c781b3acbb2.tar.gz
Probable fix for QPID-712:
Poller::epollToDirection now treats EPOLLERR as equivalent to EPOLLHUP for purposes of indicating a disconnect from the peer on the write side of the connection git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@605982 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/qpid/sys/epoll/EpollPoller.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/qpid/sys/epoll/EpollPoller.cpp b/cpp/src/qpid/sys/epoll/EpollPoller.cpp
index 0e984d49ee..3f161ccbbe 100644
--- a/cpp/src/qpid/sys/epoll/EpollPoller.cpp
+++ b/cpp/src/qpid/sys/epoll/EpollPoller.cpp
@@ -165,7 +165,9 @@ class PollerPrivate {
case ::EPOLLIN: return Poller::READABLE;
case ::EPOLLOUT: return Poller::WRITABLE;
case ::EPOLLIN | ::EPOLLOUT: return Poller::READ_WRITABLE;
- default: return (events & ::EPOLLHUP) ? Poller::DISCONNECTED : Poller::INVALID;
+ default:
+ return (events & ::EPOLLHUP | ::EPOLLERR) ?
+ Poller::DISCONNECTED : Poller::INVALID;
}
}