Commit Diff


commit - 60535a5ff621d2e0f1eb91a08c0e624cc6c76fbd
commit + 5c8a0421712a471a00dbf78f7ea054b366ba471b
blob - e8313be1e4a67ba2b74b2e8b5900f26c19648628
blob + 4420c2d77a74c31a08ee7bff1b0b9ecf8884d17b
--- src/lib9p/_post.c
+++ src/lib9p/_post.c
@@ -33,8 +33,8 @@ _post2(void *v)
 	Srv *s;
 
 	s = v;
-	rfork(RFNOTEG);
 	if(!s->leavefdsopen){
+		rfork(RFNOTEG);
 		rendezvous((ulong)s, 0);
 		close(s->srvfd);
 	}
blob - 2393f1c4c155fcdde1736ce99e66a0aee6fd6be8
blob + e0b6af5eeecede26900b850adaf28e3bdd530bca
--- src/lib9p/fid.c
+++ src/lib9p/fid.c
@@ -47,6 +47,7 @@ allocfid(Fidpool *pool, ulong fid)
 	incfidref(f);
 	if(caninsertkey(pool->map, fid, f) == 0){
 		closefid(f);
+		closefid(f);
 		return nil;
 	}
 
blob - /dev/null
blob + 277f24dc3f0b17432ab1eb95698041c959fd1097 (mode 644)
--- /dev/null
+++ src/lib9p/portdate
@@ -0,0 +1,13 @@
+_post.c	2004/1225
+dirread.c	2004/1225
+fid.c		2004/1225
+file.c		2004/1225
+intmap.c	2004/1225
+mem.c	2004/1225
+req.c		2004/1225
+parse.c	2004/1225
+post.c	2004/1225
+srv.c		2004/1225
+tpost.c	2004/1225
+uid.c		2004/1225
+util.c		2004/1225
blob - 8e1aaab5480d6fab92a9d4c5c3687dd855386bb9
blob + 907db000120f80d1660e3ab115d3e0d1574bed1a
--- src/lib9p/req.c
+++ src/lib9p/req.c
@@ -49,6 +49,7 @@ allocreq(Reqpool *pool, ulong tag)
 	increqref(r);
 	if(caninsertkey(pool->map, tag, r) == 0){
 		closereq(r);
+		closereq(r);
 		return nil;
 	}