cleanup other tasks

This commit is contained in:
Jaremy Creechley 2023-09-14 19:11:39 -07:00
parent 2026310dd6
commit 4fa8dc3c67
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300
4 changed files with 25 additions and 26 deletions

View File

@ -26,7 +26,7 @@ method has*(
key: Key
): Future[?!bool] {.async.} =
let sig = SharedSignal.new(0)
let sig = SharedSignal.new()
await sig.acquireSig()
var ret = newThreadResult(bool)
@ -43,7 +43,7 @@ method delete*(
key: Key
): Future[?!void] {.async.} =
let sig = SharedSignal.new(0)
let sig = SharedSignal.new()
await sig.acquireSig()
var ret = newThreadResult(void)
@ -76,7 +76,7 @@ method get*(
## probably be switched to use a single ThreadSignal
## for the entire batch
let sig = SharedSignal.new(0)
let sig = SharedSignal.new()
await sig.acquireSig()
var ret = newThreadResult(ValueBuffer)
@ -96,7 +96,7 @@ method put*(
): Future[?!void] {.async.} =
echoed "put request args: ", $getThreadId()
let sig = SharedSignal.new(0)
let sig = SharedSignal.new()
await sig.acquireSig()
let ret = newSharedPtr(ThreadResult[void])
@ -132,7 +132,7 @@ method query*(
query: Query
): Future[?!QueryIter] {.async.} =
let sig = SharedSignal.new(0)
let sig = SharedSignal.new()
await sig.acquireSig()
var ret = newThreadResult(QueryResponseBuffer)
@ -204,7 +204,7 @@ proc newThreadProxyDatastore*(
var self = ThreadProxyDatastore()
var value = newSharedPtr(ThreadDatastore)
# let dsCell = protect(cast[pointer](ds))
GC_ref(ds) ## TODO: is this needed?
# GC_ref(ds) ## TODO: is this needed?
try:
value[].ds = ds

View File

@ -133,7 +133,7 @@ proc putTask*(
db: DataBuffer,
) =
os.sleep(400)
# os.sleep(400)
# var ret = ret
echo "\n"
echoed "putTask: ", $getThreadId()

View File

@ -90,9 +90,8 @@ proc `=destroy`*(x: var SharedSignalObj) =
release(x.sigptr)
x.sigptr = nil
proc new*(tp: typedesc[SharedSignal],
count: int): SharedSignal =
result = newSharedPtr[SharedSignalObj](SharedSignalObj, manualCount = count)
proc new*(tp: typedesc[SharedSignal]): SharedSignal =
result = newSharedPtr[SharedSignalObj](SharedSignalObj)
proc acquireSig*(sig: SharedSignal): Future[void] {.async.} =
sig[].sigptr = await getThreadSignal()

View File

@ -40,23 +40,21 @@ suite "Test Basic ThreadProxyDatastore":
print "res1: ", res1
check res1.isOk
test "check get":
# echo "\n\n=== get ==="
let res2 = await sds.get(key1)
check res2.get() == data
print "get res2: ", res2
var val = ""
for c in res2.get():
val &= char(c)
print "get res2: ", $val
# GC_fullCollect() # this fails due to MemoryStore already being freed...
# test "check get":
# # echo "\n\n=== get ==="
# let res2 = await sds.get(key1)
# check res2.get() == data
# var val = ""
# for c in res2.get():
# val &= char(c)
# # print "get res2: ", $val
# # echo "\n\n=== put cancel ==="
# # # let res1 = await sds.put(key1, "value for 1".toBytes())
# # let res3 = sds.put(key1, "value for 1".toBytes())
# # res3.cancel()
# # # print "res3: ", res3
# echo "\n\n=== put cancel ==="
# # let res1 = await sds.put(key1, "value for 1".toBytes())
# let res3 = sds.put(key1, "value for 1".toBytes())
# res3.cancel()
# # print "res3: ", res3
# suite "Test Basic ThreadProxyDatastore":
@ -104,3 +102,5 @@ suite "Test Basic ThreadProxyDatastore":
# check res.len() > 0
# GC_fullCollect() # this fails due to MemoryStore already being freed...