mfd[0] = p[0];
mfd[1] = p[0];
srvfd = p[1];
- }
-
- procrfork(srv, 0, Stacksize, RFFDG|RFNAMEG|RFNOTEG);
-
- if(!stdio){
- close(p[0]);
if(defsrv){
srvname = smprint("/srv/%s", defsrv);
fd = create(srvname, OWRITE|ORCLOSE, 0666);
sysfatal("write %s: %r", srvname);
free(srvname);
}
+ }
+
+ procrfork(srv, 0, Stacksize, RFFDG|RFNAMEG|RFNOTEG);
+
+ if(!stdio){
+ close(p[0]);
if(defmnt){
if(mount(srvfd, -1, defmnt, MREPL|MCREATE, "") < 0)
sysfatal("mount %s: %r", defmnt);
for(;;){
n = read9pmsg(mfd[0], mdata, sizeof mdata);
- if(n <= 0)
+ if(n < 0)
break;
+ if(n == 0)
+ continue;
if(convM2Su(mdata, n, &rhdr, dotu) != n)
sysfatal("convM2S conversion error");