diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-21 05:29:43 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-21 05:29:43 +0100 |
commit | fef5c8e4caf7a673e81d733c11e6410f8e427623 (patch) | |
tree | 40fab3cafa9816d09376c74a3a14dfe6a71b7f53 /sys | |
parent | 40d71baf7f44b17fcf323ebed8b835d86f340e84 (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.c | 2 | ||||
-rw-r--r-- | sys/src/cmd/aux/listen1.c | 2 |
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); |