diff options
Diffstat (limited to 'src/lib9/rfork.c')
-rw-r--r-- | src/lib9/rfork.c | 9 |
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; |