diff options
author | Samuel Just <sam.just@inktank.com> | 2013-05-09 16:29:28 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-05-09 17:28:15 -0700 |
commit | b274c8a0b21ec87a744bbb4c27e6c21277c7d794 (patch) | |
tree | 93e0f64322a384796ea5c698516a9dc2a90e0902 | |
parent | 69b64826b762f713d88072a5c3a3e54fa1e0995b (diff) | |
download | ceph-b274c8a0b21ec87a744bbb4c27e6c21277c7d794.tar.gz |
common/sharedptr_registry.hpp: add remove
remove() can be used to clear an entry before all of its
references are removed.
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r-- | src/common/sharedptr_registry.hpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/sharedptr_registry.hpp b/src/common/sharedptr_registry.hpp index e155015ef60..8669d063a79 100644 --- a/src/common/sharedptr_registry.hpp +++ b/src/common/sharedptr_registry.hpp @@ -100,6 +100,12 @@ public: return retval; } + void remove(const K &key) { + Mutex::Locker l(lock); + contents.erase(key); + cond.Signal(); + } + template<class A> VPtr lookup_or_create(const K &key, const A &arg) { Mutex::Locker l(lock); |