Commit Diff


commit - 0529411caa88bb5fbdd65d460c0b4042742e23de
commit + 56dc04c55fa6b1e54b7fb5e8743e79cd6f3e2dbf
blob - 9d98bbabe037c39087d99283100ca1094b989ee6
blob + 77efeb4eab218790d31a02d94c9a4e305f1bc3aa
--- include/9p.h
+++ include/9p.h
@@ -205,6 +205,7 @@ struct Srv {
 	int		srvfd;
 	int		leavefdsopen;	/* magic for acme win */
 	int		dotu;
+	int		foreground;	/* run in foreground */
 
 /* below is implementation-specific; don't use */
 	Fidpool*	fpool;
blob - d6691fecf7307a67190f99eb0bf704b722867496
blob + 17848551304bb14ae1b797f55481e74de71d0e30
--- src/lib9p/tpost.c
+++ src/lib9p/tpost.c
@@ -26,5 +26,8 @@ threadpostmountsrv(Srv *s, char *name, char *mtpt, int
 			sysfatal("post9pservice %s: %r", name);
 	}else if(!s->nopipe)
 		sysfatal("no one to serve");
-	proccreate(launchsrv, s, 32*1024);
+	if(s->foreground)
+		srv(s);
+	else
+		proccreate(launchsrv, s, 32*1024);
 }