qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From astitc...@apache.org
Subject svn commit: r1408983 - /qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp
Date Tue, 13 Nov 2012 22:11:45 GMT
Author: astitcher
Date: Tue Nov 13 22:11:44 2012
New Revision: 1408983

URL: http://svn.apache.org/viewvc?rev=1408983&view=rev
Log:
QPID-4435: Reconnect on connect failure hangs at third address to try
- In the case of retrying a connection failure the epoll code mistakenly
  thinks the connection has just been disconnected and therefore should
  never be seen again.

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

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp?rev=1408983&r1=1408982&r2=1408983&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp Tue Nov 13 22:11:44 2012
@@ -384,6 +384,7 @@ void PollerPrivate::resetMode(PollerHand
         int rc = ::epoll_ctl(epollFd, EPOLL_CTL_MOD, eh.fd(), &epe);
         // If something has closed the fd in the meantime try adding it back
         if (rc ==-1 && errno == ENOENT) {
+            eh.setIdle(); // Reset our handle as if starting from scratch
             rc = ::epoll_ctl(epollFd, EPOLL_CTL_ADD, eh.fd(), &epe);
         }
         QPID_POSIX_CHECK(rc);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


Mime
View raw message