summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/rio/xfid.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/src/cmd/rio/xfid.c b/sys/src/cmd/rio/xfid.c
index 03f06be95..b505b2f06 100644
--- a/sys/src/cmd/rio/xfid.c
+++ b/sys/src/cmd/rio/xfid.c
@@ -422,6 +422,7 @@ xfidwrite(Xfid *x)
return;
}
qunlock(&x->active);
+ recv(x->flushc, nil); /* wake up flushing xfid */
/* no break */
case CWflush:
free(r);
@@ -661,6 +662,7 @@ xfidread(Xfid *x)
return;
}
qunlock(&x->active);
+ recv(x->flushc, nil); /* wake up flushing xfid */
/* no break */
case CRflush:
filsyscancel(x);
@@ -727,6 +729,7 @@ xfidread(Xfid *x)
return;
}
qunlock(&x->active);
+ recv(x->flushc, nil); /* wake up flushing xfid */
/* no break */
case MRflush:
filsyscancel(x);
@@ -779,6 +782,7 @@ xfidread(Xfid *x)
return;
}
qunlock(&x->active);
+ recv(x->flushc, nil); /* wake up flushing xfid */
/* no break */
case MRflush:
filsyscancel(x);
@@ -919,6 +923,7 @@ xfidread(Xfid *x)
return;
}
qunlock(&x->active);
+ recv(x->flushc, nil); /* wake up flushing xfid */
/* no break */
case WCRflush:
filsyscancel(x);