diff --git a/datastore/threadproxyds.nim b/datastore/threadproxyds.nim index 537c59a..b2c1830 100644 --- a/datastore/threadproxyds.nim +++ b/datastore/threadproxyds.nim @@ -108,16 +108,13 @@ method put*( # wait for taskpool work to finish wait(sig). then(proc () = - # sig.decr() - os.sleep(400) + os.sleep(200) let val = ret.convert(void) putRes.complete(val) ).cancelled(proc() = - # sig.decr() + # TODO: could try and prevent taskpool work before it starts? discard ).catch(proc(e: ref CatchableError) = - # sig.decr() - discard doAssert false, "will not be triggered" ) ).catch(proc(e: ref CatchableError) = diff --git a/datastore/threads/threadsignalpool.nim b/datastore/threads/threadsignalpool.nim index fca66ba..d3a202d 100644 --- a/datastore/threads/threadsignalpool.nim +++ b/datastore/threads/threadsignalpool.nim @@ -84,9 +84,9 @@ type SharedSignal* = SharedPtr[SharedSignalObj] -proc `=destroy`*[T](x: var SharedSignalObj) = +proc `=destroy`*(x: var SharedSignalObj) = if x.sigptr != nil: - echo "ThreadSignalObj: destroy " + echoed "ThreadSignalObj: destroy " release(x.sigptr) x.sigptr = nil