summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/Dispatcher.cpp
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2007-11-29 11:34:15 +0000
committerAndrew Stitcher <astitcher@apache.org>2007-11-29 11:34:15 +0000
commitd1f32f54b73807b778eb6027bb048f9e7b0e808f (patch)
tree0986a7f6f562bd6c0740e26ada91ee5692646583 /cpp/src/qpid/sys/Dispatcher.cpp
parentd36b4e5ebf15a2ceac2f5f10370031d7d55a979d (diff)
downloadqpid-python-d1f32f54b73807b778eb6027bb048f9e7b0e808f.tar.gz
- Eliminated a race condition on deletion of PollerHandles
* Added DeletionManager class to delete handles * Used to stop PollerHandles being deleted whilst still in use git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599390 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/Dispatcher.cpp')
-rw-r--r--cpp/src/qpid/sys/Dispatcher.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/cpp/src/qpid/sys/Dispatcher.cpp b/cpp/src/qpid/sys/Dispatcher.cpp
index be5d8a530c..c55f808b42 100644
--- a/cpp/src/qpid/sys/Dispatcher.cpp
+++ b/cpp/src/qpid/sys/Dispatcher.cpp
@@ -341,7 +341,7 @@ void DispatchHandle::doDelete() {
}
}
// If we're not then do it right away
- delete this;
+ deferDelete();
}
void DispatchHandle::dispatchCallbacks(Poller::EventType type) {
@@ -435,7 +435,7 @@ void DispatchHandle::dispatchCallbacks(Poller::EventType type) {
break;
}
}
- delete this;
+ deferDelete();
}
}}