This commit is contained in:
Jaremy Creechley 2024-03-19 14:01:43 +02:00
parent 5fd1e789bb
commit 1156b0b63a
3 changed files with 10 additions and 7 deletions

View File

@ -24,6 +24,7 @@ proc worker(data: SeqCursor, sig: ThreadSignalPtr) =
os.sleep(10)
echo "running worker: "
echo "worker: ", data.data
echo "worker:addr: ", cast[pointer](data.data).repr
# for i, d in data.data:
# for j, c in d:
# data.data[i][j] = char(c.uint8 + 10)
@ -41,11 +42,13 @@ proc runTest(tp: TaskPool, sig: ThreadSignalPtr) {.async.} =
## adding fut.wait(100.milliseconds) creates memory issue
await wait(sig)
echo "data:addr: ", data.addr.pointer.repr
echo "data:cursor:addr: ", cast[pointer](cur.data).repr
## just doing the wait is fine:
# await wait(sig)
proc runTests(tp: TaskPool, sig: ThreadSignalPtr) {.async.} =
for i in 1..3_000:
for i in 1..1:
try:
await runTest(tp, sig)
except AsyncTimeoutError:
@ -60,4 +63,4 @@ suite "async tests":
asyncTest "test":
await runTests(tp, sig)
os.sleep(10_000)
# os.sleep(10_000)

View File

@ -44,7 +44,7 @@ proc runTest(tp: TaskPool, sig: ThreadSignalPtr, i: int) {.async.} =
proc runTests(tp: TaskPool, sig: ThreadSignalPtr) {.async.} =
var futs = newSeq[Future[void]]()
for i in 1..40_000:
for i in 1..1:
let f = runTest(tp, sig, i)
# futs.add f
await f

View File

@ -16,11 +16,11 @@ import taskpools
## generally does so in a few seconds of running.
##
proc worker(data: ptr seq[seq[char]], sig: ThreadSignalPtr) =
proc worker(data: seq[seq[char]], sig: ThreadSignalPtr) =
# os.sleep(100)
echo "running worker: "
echo "worker: ", data.pointer.repr
echo "worker: ", data[]
echo "worker: ", data.unsafeAddr.pointer.repr
echo "worker: ", data
# for i, d in data:
# for j, c in d:
# data[i][j] = char(c.uint8 + 10)
@ -35,7 +35,7 @@ proc runTest(tp: TaskPool, sig: ThreadSignalPtr, i: int) {.async.} =
var data = @[obj1, obj2]
# echo "spawn worker"
tp.spawn worker(addr data, sig)
tp.spawn worker(data, sig)
await wait(sig)
echo "data: ", data.addr.pointer.repr