Posted to tcl by rmax at Wed Jan 08 14:30:59 GMT 2014view raw

  1. proc log {args} {
  2. set time [expr [clock seconds] - $::start]
  3. puts [format "\[%02d\] %s" $time $args]
  4. }
  5.  
  6. proc call {conn_id} {
  7. set ::a_vwait($conn_id) 0
  8. after 5000 cb $conn_id
  9. }
  10.  
  11. proc cb {conn_id} {
  12. set ::a_vwait($conn_id) 1
  13. }
  14.  
  15. proc testloop {args} {
  16. puts "..."
  17. after 600 {testloop}
  18. }
  19.  
  20. trace add execution call enter log
  21. trace add execution call leave log
  22. trace add execution cb enter log
  23. trace add execution cb leave log
  24.  
  25. set start [clock seconds]
  26.  
  27. after 0 {testloop}
  28. after 2000 {call 1}
  29. after 4000 {call 2}
  30. after 6000 {call 3}
  31.  
  32. after 15000 {exit}
  33. vwait forever
  34.