]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/vac/vacfs.c
exec(2): fix prototypes
[plan9front.git] / sys / src / cmd / vac / vacfs.c
index e4697c92a6422533ca46d5b3f6595511813eb882..cc1a5ca065d43a16b436ed8eaa880dda02bf9759 100644 (file)
@@ -200,12 +200,6 @@ threadmain(int argc, char *argv[])
                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);
@@ -215,6 +209,12 @@ threadmain(int argc, char *argv[])
                                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);
@@ -706,8 +706,10 @@ io(void)
 
        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");