This commit is contained in:
Jaremy Creechley 2023-08-28 21:48:42 -07:00 committed by Dmitriy Ryajov
parent b27593e8cf
commit 51683be0e5
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4

View File

@ -109,29 +109,17 @@ proc newSharedDataStore*(
ds: Datastore,
): Future[?!SharedDatastore] {.async.} =
var
self = SharedDatastore()
without res =? newThreadResult(ThreadDatastorePtr), err:
return failure(err)
var self = SharedDatastore()
let value = newSharedPtr(ThreadDatastore)
echo "\nnewDataStore: threadId:", getThreadId()
# GC_ref(ds)
value[].ds = ds
try:
res[].value = newSharedPtr(ThreadDatastore)
echo "\nnewDataStore: threadId:", getThreadId()
# GC_ref(ds)
res[].value[].ds = ds
try:
res[].value[].tp = Taskpool.new(num_threads = 2)
except Exception as exc:
return err((ref DatastoreError)(msg: exc.msg))
await wait(res[].signal)
finally:
echo "closing signal"
res[].signal.close()
value[].tp = Taskpool.new(num_threads = 2)
except Exception as exc:
return err((ref DatastoreError)(msg: exc.msg))
print "\nnewSharedDataStore:state: ", res[].state
print "\nnewSharedDataStore:value: ", res[].value[].backend
self.tds = res[].value
self.tds = value
success self