M carrera/fns.h => carrera/fns.h +1 -0
@@ 128,6 128,7 @@ void ifjab(void);
ulong ifaddr(void*);
void filiput(Block*);
void fiberint(int);
+void freset(void*);
void audiosbintr(void);
void audiodmaintr(void);
ulong fwblock(void*, void*, ulong);
M port/devmnt.c => port/devmnt.c +4 -2
@@ 758,7 758,7 @@ mountmux(Mnt *m, Mntrpc *r)
int
mntflush(Mnt *m, Mntrpc *r)
{
- int n;
+ int n, l;
Fcall flush;
lock(m);
@@ 779,7 779,9 @@ mntflush(Mnt *m, Mntrpc *r)
mntqrm(m, r);
return 0;
}
- (*devtab[m->c->type].write)(m->c, r->flush, n, 0);
+ l = (*devtab[m->c->type].write)(m->c, r->flush, n, 0);
+ if(l != n)
+ error(Ehungup);
poperror();
return 1;
}
M port/error.h => port/error.h +1 -1
@@ 25,7 25,7 @@ extern char Enoproto[]; /* network protocol not supported */
extern char Enoport[]; /* network port not available */
extern char Enoifc[]; /* bad interface or no free interface slots */
extern char Enolisten[]; /* not announced */
-extern char Ehungup[]; /* write to hungup stream */
+extern char Ehungup[]; /* write to hungup channel */
extern char Ebadctl[]; /* bad process or stream control request */
extern char Enodev[]; /* no free devices */
extern char Enoenv[]; /* no free environment resources */