1#!/bin/sh
2# -*- tcl -*- \
3exec tclsh "$0"  ${1+"$@"}
4
5package require comm
6package require tie
7
8set id [lindex $argv 0]
9
10proc import {remotevar localvar} {
11    global id
12    comm::comm send $id [list \
13	    tie::tie $remotevar remotearray \
14	    $localvar {comm::comm send} [comm::comm self] \
15	 ]
16}
17
18proc Track {args} {
19    global receiver
20    puts *\ \[[join $args "\] \["]\]\ ([dictsort [array get receiver]])
21    return
22}
23
24proc dictsort {dict} {
25    array set a $dict
26    set out [list]
27    foreach key [lsort [array names a]] {
28	lappend out $key $a($key)
29    }
30    return $out
31}
32
33array set          receiver {}
34trace add variable receiver {write unset} Track
35
36import server receiver
37
38puts "Waiting on $id"
39vwait forever
40