mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
24 lines
578 B
Nim
24 lines
578 B
Nim
import coro
|
|
var
|
|
stackCheckValue = 1100220033
|
|
numbers = newSeqOfCap[int](10)
|
|
|
|
proc testExceptions(id: int, sleep: float) =
|
|
try:
|
|
numbers.add(id)
|
|
suspend(sleep)
|
|
numbers.add(id)
|
|
raise (ref ValueError)()
|
|
except:
|
|
numbers.add(id)
|
|
suspend(sleep)
|
|
numbers.add(id)
|
|
suspend(sleep)
|
|
numbers.add(id)
|
|
|
|
start(proc() = testExceptions(1, 0.01))
|
|
start(proc() = testExceptions(2, 0.011))
|
|
run()
|
|
doAssert(stackCheckValue == 1100220033, "Thread stack got corrupted")
|
|
doAssert(numbers == @[1, 2, 1, 2, 1, 2, 1, 2, 1, 2], "Coroutines executed in incorrect order")
|