diff options
author | Andrew Stitcher <astitcher@apache.org> | 2007-11-29 11:34:15 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2007-11-29 11:34:15 +0000 |
commit | d1f32f54b73807b778eb6027bb048f9e7b0e808f (patch) | |
tree | 0986a7f6f562bd6c0740e26ada91ee5692646583 /cpp/src/qpid/sys/Poller.h | |
parent | d36b4e5ebf15a2ceac2f5f10370031d7d55a979d (diff) | |
download | qpid-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/Poller.h')
-rw-r--r-- | cpp/src/qpid/sys/Poller.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/sys/Poller.h b/cpp/src/qpid/sys/Poller.h index 843295e268..a7a12fdbe8 100644 --- a/cpp/src/qpid/sys/Poller.h +++ b/cpp/src/qpid/sys/Poller.h @@ -45,6 +45,12 @@ class PollerHandle { public: PollerHandle(const Socket& s); + + // Usual way to delete (will defer deletion until we + // can't be returned from a Poller::wait any more) + void deferDelete(); + + // Class clients shouldn't ever use this virtual ~PollerHandle(); const Socket& getSocket() const {return socket;} |