From: Samuel Just Date: Thu, 9 May 2013 23:29:28 +0000 (-0700) Subject: common/sharedptr_registry.hpp: add remove X-Git-Tag: v0.63~48^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b274c8a0b21ec87a744bbb4c27e6c21277c7d794;p=ceph.git 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 --- diff --git a/src/common/sharedptr_registry.hpp b/src/common/sharedptr_registry.hpp index e155015ef606..8669d063a79f 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 VPtr lookup_or_create(const K &key, const A &arg) { Mutex::Locker l(lock);