diff options
| -rw-r--r-- | sys/src/9/port/devmnt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/9/port/devmnt.c b/sys/src/9/port/devmnt.c index 9c3470068..5ed55b3fb 100644 --- a/sys/src/9/port/devmnt.c +++ b/sys/src/9/port/devmnt.c @@ -774,7 +774,7 @@ mountio(Mnt *m, Mntrpc *r) while(waserror()) { if(m->rip == up) mntgate(m); - if(strcmp(up->errstr, Eintr) != 0){ + if(strcmp(up->errstr, Eintr) != 0 || waserror()){ r = mntflushfree(m, r); switch(r->request.type){ case Tremove: @@ -786,6 +786,7 @@ mountio(Mnt *m, Mntrpc *r) nexterror(); } r = mntflushalloc(r, m->msize); + poperror(); } lock(m); |
