From 911de835375e5f79174487351961b9e1e9cf80b6 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Tue, 26 Sep 2023 15:40:28 -0700 Subject: [PATCH] setup query end --- datastore/threads/threadproxyds.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/datastore/threads/threadproxyds.nim b/datastore/threads/threadproxyds.nim index ce808ba..1e73d34 100644 --- a/datastore/threads/threadproxyds.nim +++ b/datastore/threads/threadproxyds.nim @@ -277,6 +277,7 @@ method query*( iter = QueryIter.new() proc next(): Future[?!QueryResponse] {.async.} = + let ctx = ctx defer: if lock.locked: lock.release() @@ -289,10 +290,9 @@ method query*( await lock.acquire() - dispatchTask[DbQueryResponse[KeyId, DataBuffer]](self, signal): - self.tp.spawn queryTask(ctx, ds, dq) - discard ctx[].signal.fireSync() - await ctx[].signal.wait() + dispatchTaskWrap[DbQueryResponse[KeyId, DataBuffer]](self, signal): + # trigger query task to iterate then wait for new result! + discard ctx[].signal.fireSync() if ctx[].res.isErr() and ctx[].res.error()[0] == ErrorEnum.QueryEndedErr: iter.finished = true