diff options
Diffstat (limited to 'tests/compile/tthread_generic.nim')
-rw-r--r-- | tests/compile/tthread_generic.nim | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/tests/compile/tthread_generic.nim b/tests/compile/tthread_generic.nim deleted file mode 100644 index beae4b652..000000000 --- a/tests/compile/tthread_generic.nim +++ /dev/null @@ -1,39 +0,0 @@ -discard """ - cmd: "nimrod cc --hints:on --threads:on $# $#" -""" - -type - TThreadFuncArgs[T] = object of TObject - a: proc(): T {.thread.} - b: proc(val: T) {.thread.} - -proc handleThreadFunc(arg: TThreadFuncArgs[int]){.thread.} = - var func = arg.a - var callback = arg.b - var output = func() - callback(output) - -proc `@||->`*[T](func: proc(): T {.thread.}, - callback: proc(val: T){.thread.}): TThread[TThreadFuncArgs[T]] = - var thr: TThread[TThreadFuncArgs[T]] - var args: TThreadFuncArgs[T] - args.a = func - args.b = callback - createThread(thr, handleThreadFunc, args) - return thr - -proc `||->`*[T](func: proc(): T{.thread.}, callback: proc(val: T){.thread.}) = - discard func @||-> callback - -when isMainModule: - import os - proc testFunc(): int {.thread.} = - return 1 - proc callbackFunc(val: int) {.thread.} = - echo($(val)) - - var thr = (testFunc @||-> callbackFunc) - echo("test") - joinThread(thr) - os.sleep(3000) - |