diff --git a/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter.kt b/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter.kt index f5f49d0..a5ea0fa 100644 --- a/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter.kt +++ b/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter.kt @@ -33,6 +33,11 @@ internal class CloseableReferenceCounter(private val _errMessage: String) { this._value.update(Long::dec) } + inline fun tryDecref(block: () -> R): R { + this.checkNotClosed() + return safeAutoClose2(onSuccess = this::decref, action = block) + } + fun close(errExistRefs: String) { val state = this._value.compareAndExchange(0, -1) when {