From c561666c2b65dee40ddec06e1da66c94c4c9d032 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Wed, 23 Sep 2026 02:47:01 -0300 Subject: release decrement in the same operation --- lib/kernel/Lifecycle.ml | 3 +-- 1 file changed, 1 insertion(+), 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 -- cgit v1.2.3