Posted to tcl by schelte at Sat Dec 14 16:11:23 GMT 2013view pretty

proc nocoro {{num 0}} {
    puts [info level 0]
    if {[info coroutine] ne ""} {
        after 1000 [list nocoro [incr num]]
        return
    }
    puts "Done"
    exit
}

proc coro {} {
    global minute
    nocoro
    set id [after 60000 {set minute done}]
    vwait minute
    after cancel $id
}

coroutine foo coro

vwait forever