summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-02-21 05:29:43 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-02-21 05:29:43 +0100
commitfef5c8e4caf7a673e81d733c11e6410f8e427623 (patch)
tree40fab3cafa9816d09376c74a3a14dfe6a71b7f53 /sys
parent40d71baf7f44b17fcf323ebed8b835d86f340e84 (diff)
aux/listen: rfork with RFREND
child processes handling the connection should be all independent of each another and not share rendezvous group. the rendezvous group sharing caused a bug in exportfs when we switched from using pid to memory address as rendezvous tag.
Diffstat (limited to 'sys')
-rw-r--r--sys/src/cmd/aux/listen.c2
-rw-r--r--sys/src/cmd/aux/listen1.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/aux/listen.c b/sys/src/cmd/aux/listen.c
index fe4d11f92..82580d9f5 100644
--- a/sys/src/cmd/aux/listen.c
+++ b/sys/src/cmd/aux/listen.c
@@ -456,7 +456,7 @@ dolisten(char *proto, char *dir, int ctl, char *srvdir, char *dialstr, long *pch
/*
* start a subprocess for the connection
*/
- switch(rfork(RFFDG|RFPROC|RFMEM|RFENVG|RFNAMEG|RFNOTEG|nowait)){
+ switch(rfork(RFFDG|RFPROC|RFMEM|RFENVG|RFNAMEG|RFNOTEG|RFREND|nowait)){
case -1:
reject(nctl, ndir, "host overloaded");
close(nctl);
diff --git a/sys/src/cmd/aux/listen1.c b/sys/src/cmd/aux/listen1.c
index c7504fe29..1b65074b2 100644
--- a/sys/src/cmd/aux/listen1.c
+++ b/sys/src/cmd/aux/listen1.c
@@ -118,7 +118,7 @@ main(int argc, char **argv)
if(nctl < 0)
sysfatal("listen %s: %r", argv[0]);
- switch(rfork(RFFDG|RFPROC|RFMEM|RFENVG|RFNAMEG|RFNOTEG|nowait)){
+ switch(rfork(RFFDG|RFPROC|RFMEM|RFENVG|RFNAMEG|RFNOTEG|RFREND|nowait)){
case -1:
reject(nctl, ndir, "host overloaded");
close(nctl);