Author: astitcher
Date: Tue Jul 31 02:09:19 2007
New Revision: 561279

URL: http://svn.apache.org/viewvc?view=rev&rev=561279
Log:
* Fix crash on shutdown due to underlying poller being shutdown twice
- Actually just made the poller ignore subsequent shutdown attempts

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?view=diff&rev=561279&r1=561278&r2=561279
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp Tue Jul 31 
02:09:19 2007
@@ -239,6 +239,10 @@
 }
 
 void Poller::shutdown() {
+       // Allow sloppy code to shut us down more than once
+       if (impl->isShutdown)
+               return;
+
     // Don't use any locking here - isshutdown will be visible to all
     // after the epoll_ctl() anyway (it's a memory barrier)
     impl->isShutdown = true;


Reply via email to