Make SYS_chdir affect other processes
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 2 Oct 2018 19:55:13 +0000 (15:55 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 2 Oct 2018 19:55:13 +0000 (15:55 -0400)
commitfce2e83252b0ec9eb1c582ca8d8e3a778ff08f07
tree6010bd6241730e776748bbe08c13faa12faebbae
parent0125d68f9264be09bb2fceaba3b4b443a1521aa1
Make SYS_chdir affect other processes

Our chdir() takes a pid.  A controlling process (e.g. a parent) can change
the directory of a child.  This is meant to be done after proc_create and
before proc_run; the parent can set up the child before it starts running,
which avoids all sorts of nasty issues that happen in the fork() world.

Unfortunately, our chdir wasn't doing that since we got rid of the VFS.
This fixes a Go test that we had always skipped (TestStartProcess).

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/ns.h
kern/src/ns/sysfile.c
kern/src/syscall.c