aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-09-23 02:47:01 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-09-23 02:47:01 -0300
commitc561666c2b65dee40ddec06e1da66c94c4c9d032 (patch)
tree99351905f3ab16576e159df05711053bc4db4906
parentd65bdec20c930a3188d8e0619f861481dabe02ee (diff)
downloadRNT-c561666c2b65dee40ddec06e1da66c94c4c9d032.tar.gz
RNT-c561666c2b65dee40ddec06e1da66c94c4c9d032.zip
release decrement in the same operation
-rw-r--r--lib/kernel/Lifecycle.ml3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/kernel/Lifecycle.ml b/lib/kernel/Lifecycle.ml
index ff67ecf..20282dd 100644
--- a/lib/kernel/Lifecycle.ml
+++ b/lib/kernel/Lifecycle.ml
@@ -23,7 +23,6 @@ class virtual counted = object (self)
true
method release =
- Atomic.decr references;
- if Atomic.get references <= 0 then
+ if Atomic.fetch_and_add references (-1) = 1 then
self#destroy
end