summaryrefslogtreecommitdiff
path: root/sys/src/cmd/rio/xfid.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-10-22 07:03:47 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-10-22 07:03:47 +0200
commit99216e01291ab687f74a54dd21dc0b8aa27de8d5 (patch)
tree8659b1e1892f63e96abf79df244d2d3858f3a26e /sys/src/cmd/rio/xfid.c
parent54d2424a7cab7fe1808f7bdb7acade6af0e3428a (diff)
rio: fix deadlock
we can't really change the Window *input from outside the winctl() thread. the problem is that the window might end up reading the mouse (scroll, select) which makes the w->cctl channel block once you try to talk to the window again (from the mousethread). this also means we have to coordinate window switchin from the winctl proc waiting for the current window to release the input and then take over. thers a new Winctl message Topped that basically does that now using Wakeup and a chan to synchronize.
Diffstat (limited to 'sys/src/cmd/rio/xfid.c')
-rw-r--r--sys/src/cmd/rio/xfid.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/src/cmd/rio/xfid.c b/sys/src/cmd/rio/xfid.c
index 9359bc12c..a0da0c5fd 100644
--- a/sys/src/cmd/rio/xfid.c
+++ b/sys/src/cmd/rio/xfid.c
@@ -190,7 +190,6 @@ xfidattach(Xfid *x)
if(pid == 0)
pid = -1; /* make sure we don't pop a shell! - UGH */
w = new(i, hideit, scrollit, pid, nil, nil, nil);
- flushimage(display, 1);
newlymade = TRUE;
}else
err = Ewindow;
@@ -550,7 +549,6 @@ xfidwrite(Xfid *x)
filsysrespond(x->fs, x, &fc, buf);
return;
}
- flushimage(display, 1);
break;
default: