diff --git a/app/src/main/kotlin/moe/tarsin/coroutines/NamedSemaphore.kt b/app/src/main/kotlin/moe/tarsin/coroutines/NamedSemaphore.kt index 026f95a99..225c12fa0 100644 --- a/app/src/main/kotlin/moe/tarsin/coroutines/NamedSemaphore.kt +++ b/app/src/main/kotlin/moe/tarsin/coroutines/NamedSemaphore.kt @@ -26,15 +26,15 @@ class NamedSemaphore(val permits: Int) { } suspend inline fun NamedSemaphore.withPermit(key: K, action: () -> R): R { - val mutex = synchronized(active) { active.getOrPut(key) { pool.borrow() }.inc() } + val semaphore = synchronized(active) { active.getOrPut(key) { pool.borrow() }.inc() } return try { - mutex.withPermit(action) + semaphore.withPermit(action) } finally { synchronized(active) { - mutex.dec() - if (mutex.isFree) { + semaphore.dec() + if (semaphore.isFree) { active.remove(key) - pool.recycle(mutex) + pool.recycle(semaphore) } } }