From fef5c8e4caf7a673e81d733c11e6410f8e427623 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 21 Feb 2014 05:29:43 +0100 Subject: [PATCH] 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. --- sys/src/cmd/aux/listen.c | 2 +- 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);