From 5370c5f1ce62cc9add4f3f6523bdd1f2b897cfa0 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Sun, 27 Sep 2026 15:00:27 -0300 Subject: session exclusive lifetime --- lib/kernel/Lifecycle.ml | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/kernel/Lifecycle.ml') diff --git a/lib/kernel/Lifecycle.ml b/lib/kernel/Lifecycle.ml index bf0b544..ac6bb20 100644 --- a/lib/kernel/Lifecycle.ml +++ b/lib/kernel/Lifecycle.ml @@ -14,6 +14,13 @@ class null = method release = () end +class exclusive = + object + val taken = Atomic.make false + method reference = Atomic.compare_and_set taken false true + method release = Atomic.set taken false + end + class virtual counted = object (self) val references = Atomic.make 1 -- cgit v1.2.3