Posted to tcl by kostix at Mon Apr 07 23:06:39 GMT 2008view raw
- 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