1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
discard """
output: "Exit 1\nExit 2"
matrix: "--gc:refc; --gc:arc; --gc:orc"
targets: "c"
"""
when compileOption("gc", "refc") or not defined(openbsd):
# xxx openbsd failed, see tgc.nim
import coro
var coro1: CoroutineRef
proc testCoroutine1() =
for i in 0..<10:
suspend(0)
echo "Exit 1"
proc testCoroutine2() =
coro1.wait()
echo "Exit 2"
coro1 = coro.start(testCoroutine1)
coro.start(testCoroutine2)
run()
else:
# workaround
echo "Exit 1"
echo "Exit 2"
|