aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/Lifecycle.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-09-25 21:51:33 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-09-25 21:51:33 -0300
commit584fbca6d920e9a9f91d451667f9380714ac2175 (patch)
treea163b916a6f8cb550c8b38ceb01ab01558687a40 /lib/kernel/Lifecycle.ml
parentc7b754e96714eeeb9d315ee3de402d73a27d47db (diff)
downloadRNT-584fbca6d920e9a9f91d451667f9380714ac2175.tar.gz
RNT-584fbca6d920e9a9f91d451667f9380714ac2175.zip
dune fmt
Diffstat (limited to 'lib/kernel/Lifecycle.ml')
-rw-r--r--lib/kernel/Lifecycle.ml52
1 files changed, 22 insertions, 30 deletions
diff --git a/lib/kernel/Lifecycle.ml b/lib/kernel/Lifecycle.ml
index 772cb6e..bf0b544 100644
--- a/lib/kernel/Lifecycle.ml
+++ b/lib/kernel/Lifecycle.ml
@@ -8,33 +8,25 @@ class type virtual controlled_lifecycle = object
method virtual destroy : unit
end
-class null = object
- method reference = true
- method release = ()
-end
-
-class virtual counted = object (self)
- val references = Atomic.make 1
-
- method virtual destroy : unit
-
- method reference =
- Atomic.incr references;
- true
-
- method release =
- if Atomic.fetch_and_add references (-1) = 1 then
- self#destroy
-end
-
-class retaining inner (owner : lifecycle) = object
- inherit counted
- initializer ignore owner#reference
-
- method destroy =
- Protocols.Handle.release inner;
- owner#release
-
- method hash = Protocols.Handle.hash inner
- method protocols = Protocols.Handle.protocols inner
-end
+class null =
+ object
+ method reference = true
+ method release = ()
+ end
+
+class virtual counted =
+ object (self)
+ val references = Atomic.make 1
+ method virtual destroy : unit
+ method reference = Atomic.incr references; true
+ method release = if Atomic.fetch_and_add references (-1) = 1 then self#destroy
+ end
+
+class retaining inner (owner : lifecycle) =
+ object
+ inherit counted
+ initializer ignore owner#reference
+ method destroy = Protocols.Handle.release inner; owner#release
+ method hash = Protocols.Handle.hash inner
+ method protocols = Protocols.Handle.protocols inner
+ end