Lines Matching refs:mid
84 set mid [TraceManager thearray]
85 if {$mid eq ""} return
95 foreach {mid dso} $tie($tid) break
98 if {$mid ne $midvar} {
102 set pos [lsearch -exact $mgr($mid) $tid]
103 set mgr($mid) [lreplace $mgr($mid) $pos $pos]
110 if {[llength $mgr($mid)]} return
118 Untie $mid thearray
129 set mid [TraceManager thearray]
130 if {$mid eq ""} {return {}}
132 return $mgr($mid)
208 # $mid,$idx | Propagation for index $idx is in progress.
252 set mid [NewTraceManager thearray]
254 set tie($tid) [list $mid $dso]
255 lappend mgr($mid) $tid
288 set mid [TraceManager thearray]
289 if {$mid ne ""} {return $mid}
294 set mid [incr mgrcount]
295 set mgr($mid) [list]
299 [list ::tie::Trace $mid]
301 return $mid
304 proc ::tie::Trace {mid avar idx op} {
305 #puts "[pid] Trace $mid $avar ($idx) $op"
318 Untie $mid thearray
322 if {[::info exists lock($mid,$idx)]} {
323 #puts "%% locked $mid,$idx"
326 set lock($mid,$idx) .
327 #puts "%% lock $mid,$idx"
330 foreach tid $mgr($mid) {
336 foreach tid $mgr($mid) {
341 #puts "%% unlock/1 $mid,$idx"
342 unset -nocomplain lock($mid,$idx)
346 #puts "%% unlock/2 $mid,$idx"
347 unset -nocomplain lock($mid,$idx)
436 proc ::tie::Untie {mid avar} {
445 [list ::tie::Trace $mid]
447 foreach tid $mgr($mid) {
448 foreach {mid dso} $tie($tid) break
449 # ASSERT: mid == mid
455 unset mgr($mid)
456 array unset lock ${mid},*