aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/samterm/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/samterm/io.c')
-rw-r--r--src/cmd/samterm/io.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/cmd/samterm/io.c b/src/cmd/samterm/io.c
index 32cd4132..e26d1003 100644
--- a/src/cmd/samterm/io.c
+++ b/src/cmd/samterm/io.c
@@ -96,13 +96,6 @@ waitforio(void)
ulong type;
again:
-
- alts[RPlumb].c = plumbc;
- alts[RPlumb].v = &i;
- alts[RPlumb].op = CHANRCV;
- if((block & (1<<RPlumb)) || plumbc == nil)
- alts[RPlumb].op = CHANNOP;
-
alts[RHost].c = hostc;
alts[RHost].v = &i;
alts[RHost].op = CHANRCV;
@@ -121,12 +114,25 @@ again:
if(block & (1<<RMouse))
alts[RMouse].op = CHANNOP;
+ alts[RPlumb].c = plumbc;
+ alts[RPlumb].v = &i;
+ alts[RPlumb].op = CHANRCV;
+ if((block & (1<<RPlumb)) || plumbc == nil)
+ alts[RPlumb].op = CHANNOP;
+
alts[RResize].c = mousectl->resizec;
alts[RResize].v = nil;
alts[RResize].op = CHANRCV;
if(block & (1<<RResize))
alts[RResize].op = CHANNOP;
+if(0) print("waitforio %c%c%c%c%c\n",
+ "h-"[alts[RHost].op == CHANNOP],
+ "k-"[alts[RKeyboard].op == CHANNOP],
+ "m-"[alts[RMouse].op == CHANNOP],
+ "p-"[alts[RPlumb].op == CHANNOP],
+ "R-"[alts[RResize].op == CHANNOP]);
+
alts[NRes].op = CHANEND;
if(got & ~block)
@@ -135,6 +141,7 @@ again:
type = alt(alts);
switch(type){
case RHost:
+ if(0) print("hostalt recv %d %d\n", i, hostbuf[i].n);
hostp = hostbuf[i].data;
hoststop = hostbuf[i].data + hostbuf[i].n;
block = 0;