aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/rfork.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2003-12-11 17:48:38 +0000
committerrsc <devnull@localhost>2003-12-11 17:48:38 +0000
commit32f69c36e0eec1227934bbd34854bfebd88686f2 (patch)
tree1587e9de84816b77168afa81c1594cc686809910 /src/lib9/rfork.c
parentac244f8d287a6119155ea672c8fd13c487c5e4c7 (diff)
downloadplan9port-32f69c36e0eec1227934bbd34854bfebd88686f2.tar.gz
plan9port-32f69c36e0eec1227934bbd34854bfebd88686f2.tar.bz2
plan9port-32f69c36e0eec1227934bbd34854bfebd88686f2.zip
Add support for user-level 9P servers/clients and various bug fixes to go with them.
Diffstat (limited to 'src/lib9/rfork.c')
-rw-r--r--src/lib9/rfork.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib9/rfork.c b/src/lib9/rfork.c
index 270c3cdd..f3a21928 100644
--- a/src/lib9/rfork.c
+++ b/src/lib9/rfork.c
@@ -9,7 +9,7 @@ p9rfork(int flags)
if((flags&(RFPROC|RFFDG|RFMEM)) == (RFPROC|RFFDG)){
/* check other flags before we commit */
flags &= ~(RFPROC|RFFDG);
- if(flags & ~(RFNOTEG)){
+ if(flags & ~(RFNOTEG|RFNAMEG)){
werrstr("unknown flags %08ux in rfork", flags);
return -1;
}
@@ -17,11 +17,14 @@ p9rfork(int flags)
if(pid != 0)
return pid;
}
-
if(flags&RFPROC){
- werrstr("cannot use rfork to fork -- use ffork");
+ werrstr("cannot use rfork for shared memory -- use ffork");
return -1;
}
+ if(flags&RFNAMEG){
+ /* XXX set $NAMESPACE to a new directory */
+ flags &= ~RFNAMEG;
+ }
if(flags&RFNOTEG){
setpgid(0, getpid());
flags &= ~RFNOTEG;