diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/qpid/sys/epoll/EpollPoller.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/qpid/sys/epoll/EpollPoller.cpp b/cpp/src/qpid/sys/epoll/EpollPoller.cpp index d4627ec721..9387453cca 100644 --- a/cpp/src/qpid/sys/epoll/EpollPoller.cpp +++ b/cpp/src/qpid/sys/epoll/EpollPoller.cpp @@ -116,10 +116,15 @@ PollerHandle::PollerHandle(const IOHandle& h) : {} PollerHandle::~PollerHandle() { + { ScopedLock<Mutex> l(impl->lock); + if (impl->isDeleted()) { + return; + } if (impl->isActive()) { impl->setDeleted(); } + } PollerHandleDeletionManager.markForDeletion(impl); } |