Posted to tcl by kostix at Mon Apr 07 23:06:39 GMT 2008view pretty
proc foo {id} { variable $id; upvar 0 $id state after 1000 [list bar $id] set token [namespace current]::${id}(result) } proc bar {id} { variable $id; upvar 0 $id state unset state quux "some error" } proc quux {reason} { return -code error $reason } proc waiter {id} { set token [foo $id] vwait $token } waiter 0xdeadbeef puts OK