From 0435c4a84f320baa7e8296b2124ba4a7923d1a13 Mon Sep 17 00:00:00 2001 From: Botahamec Date: Thu, 27 Oct 2022 18:47:59 -0400 Subject: Unsafe `force_unlock` methods --- src/lib.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 22a8d9c..777ccf3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -50,4 +50,15 @@ impl ThreadKey { pub fn unlock(key: Self) { drop(key); } + + /// Unlocks the `ThreadKey` without consuming it. + /// + /// # Safety + /// + /// This should only be called if the `ThreadKey` to the lock has been + /// "lost". That means the program no longer has a reference to the key, + /// but it has not been dropped. + pub unsafe fn force_unlock() { + KEY.get_or_default().force_unlock(); + } } -- cgit v1.2.3