chiark / gitweb /
fixes
authorian <ian>
Sun, 25 May 2008 22:25:26 +0000 (22:25 +0000)
committerian <ian>
Sun, 25 May 2008 22:25:26 +0000 (22:25 +0000)
hostside/multiplex

index 5293905bd235c254436d88e2a4262134d5cd56e5..f0964a1168ac006707b2e1e6c74e499d844c8106 100755 (executable)
@@ -426,7 +426,8 @@ proc detect0timeout {seg} {
     upvar #0 detect0($seg) d0
     unset d0
     set key "detect $seg"
-    set replay("70 $key") 0
+    set pk "70 $key"
+    set replay($pk) 0
     xmit-relevantly "$key 0"
 }
 
@@ -439,6 +440,7 @@ proc clear-replay-detects {} {
 
 proc realtime-inputline {dummy l} {
     global detectlag replay
+    global executing currentcmd currentconn
 
     puts "<< $l"
 
@@ -578,13 +580,26 @@ proc binding {addr blist} {
 }
 
 proc startup {} {
-    global queueing executing
+    global queueing executing argv me realtime
     catch { close $master }; catch { unset master }
     uplevel #0 source multiplex-config
     set queueing {}
     set executing 0
     realtime-notrunning-init
-    commandloop -async -prompt1 { return "% " } -prompt2 { return "> " }
+    foreach e $argv {
+       if {[regexp {^--(\w+)\=(.*)$} $e dummy var val]} {
+           set e [list set $var $val]
+       }
+       uplevel #0 $e
+    }
+    if {![info exists me]} {
+       commandloop -async -prompt1 { return "% " } -prompt2 { return "> " }
+    } else {
+       fconfigure stdin -translation binary -buffering line -blocking 0
+       fileevent stdin readable [list readable realtime stdin]
+       fconfigure stdout -translation binary -buffering line -blocking 0
+       set realtime stdout
+    }
 }
 
 startup