remove ctx locks

This commit is contained in:
Jaremy Creechley 2023-09-27 13:36:16 -07:00
parent 1da59ba730
commit ac77917146
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300

View File

@ -53,27 +53,22 @@ type
semaphore: AsyncSemaphore # semaphore is used for backpressure \
# to avoid exhausting file descriptors
var ctxLock: Lock
ctxLock.initLock()
proc newTaskCtx*[T](tp: typedesc[T], signal: ThreadSignalPtr): TaskCtx[T] =
newSharedPtr(TaskCtxObj[T](signal: signal))
proc setCancelled[T](ctx: TaskCtx[T]) =
# withLock(ctxLock):
ctx[].cancelled = true
proc setRunning[T](ctx: TaskCtx[T]): bool =
# withLock(ctxLock):
if ctx[].cancelled:
return false
ctx[].running = true
return true
proc setDone[T](ctx: TaskCtx[T]) =
# withLock(ctxLock):
ctx[].running = false
proc acquireSignal(): ?!ThreadSignalPtr =
echo "signal:OPEN!"
let signal = ThreadSignalPtr.new()
if signal.isErr():
failure (ref CatchableError)(msg: "failed to aquire ThreadSignalPtr: " & signal.error())