From 53eedd946c16f20034cc1962f2f407eb73eb3e72 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 25 Sep 2023 22:51:34 -0700 Subject: [PATCH] simplifying --- datastore/threads/threadproxyds.nim | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/datastore/threads/threadproxyds.nim b/datastore/threads/threadproxyds.nim index eb635de..c589998 100644 --- a/datastore/threads/threadproxyds.nim +++ b/datastore/threads/threadproxyds.nim @@ -63,7 +63,6 @@ type # to avoid exhausting file descriptors var finishLock: Lock - finishLock.initLock() proc setCancelled(ctx: var TaskCtx): bool = @@ -74,6 +73,13 @@ proc setCancelled(ctx: var TaskCtx): bool = ctx.cancelled = true return true +proc acquireSignal(): ?!ThreadSignalPtr = + let signal = ThreadSignalPtr.new() + if signal.isErr(): + failure (ref CatchableError)(msg: "failed to aquire ThreadSignalPtr: " & signal.error()) + else: + success signal.get() + template dispatchTask(self: ThreadDatastore, signal: ThreadSignalPtr, fn: untyped): auto = @@ -97,20 +103,13 @@ template dispatchTask(self: ThreadDatastore, discard ctx.signal.close() self.semaphore.release() -proc acquireSignal(): ?!ThreadSignalPtr = - let signal = ThreadSignalPtr.new() - if signal.isErr(): - failure (ref CatchableError)(msg: "failed to aquire ThreadSignalPtr: " & signal.error()) - else: - success signal.get() - proc hasTask[D](ctx: ptr TaskCtx, ds: D) = defer: if not ctx.isNil: discard ctx[].signal.fireSync() try: - let res = has(ds, key) + let res = has(ds, ctx.key) ctx.res = res.mapErr() do(e: ref CatchableError) -> ThreadResErr: e.toThreadErr() except CatchableError as exc: