From 0fde28a994973c48147abf7ac761cf45e9a2a4ba Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Thu, 14 Sep 2023 18:23:37 -0600 Subject: [PATCH] move assert into lock --- datastore/threads/semaphore.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/datastore/threads/semaphore.nim b/datastore/threads/semaphore.nim index 5a2e4b9..5087e3f 100644 --- a/datastore/threads/semaphore.nim +++ b/datastore/threads/semaphore.nim @@ -44,11 +44,12 @@ proc release*(self: var Semaphore) {.inline.} = if self.count <= 0: self.count += 1 self.cond.signal() - self.lock.release() doAssert not (self.count > self.size), "Semaphore count is greather than size: " & $self.size & " count is: " & $self.count + self.lock.release() + template withSemaphore*(self: var Semaphore, body: untyped) = self.acquire() try: