chiark / gitweb /
better handshaking during startup of crashread
authorian <ian>
Thu, 29 Dec 2005 18:12:09 +0000 (18:12 +0000)
committerian <ian>
Thu, 29 Dec 2005 18:12:09 +0000 (18:12 +0000)
detpic/crashread

index 38604898956f90d9a211dffd415870ba7cfc5787..d9a73df3d6f8b0b726887ea55b68c25fbd4ff64f 100755 (executable)
@@ -175,6 +175,12 @@ proc recv {n} {
     }
     return $l
 }
+proc junkrecv {} {
+    global p
+    fconfigure $p -blocking no
+    while {[string length [read $p 1024]]} { }
+    fconfigure $p -blocking yes
+}
 
 proc selectslave_s {} {
     global slave
@@ -187,7 +193,14 @@ proc xmit_s {b} {
     recv 1
 }
 
-proc setup_m {} { xmit 0; xmit 0; xmit 0 }
+proc pause {t} {
+    global pause_var
+    catch { unset pause_var }
+    after $t {set pause_var y}
+    vwait pause_var
+}
+
+proc setup_m {} { xmit 0; xmit 0; xmit 0; pause 250; junkrecv }
 proc setup_s {} { setup_m; xmit_s 0; xmit_s 0 }
 proc setup_t {} { }