You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2007/12/20 18:40:58 UTC

svn commit: r605982 - /incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp

Author: astitcher
Date: Thu Dec 20 09:40:46 2007
New Revision: 605982

URL: http://svn.apache.org/viewvc?rev=605982&view=rev
Log:
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

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp?rev=605982&r1=605981&r2=605982&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp Thu Dec 20 09:40:46 2007
@@ -165,7 +165,9 @@
             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;
         }
     }