sys_chdir() / fchdir() take a pid (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 26 Aug 2014 22:02:33 +0000 (15:02 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 26 Aug 2014 22:02:33 +0000 (15:02 -0700)
commitdc065cc563ef0b5ab28243855cbd38581a42a1d0
tree0c94134ee39b1825b837cc354f182026cf0ca632
parent3d93b08759ee00ab34d273c96ce2f12493f22153
sys_chdir() / fchdir() take a pid (XCC)

This is so parents (or any process that controls another) can change the
working directory (PWD, DOT, etc) of another process, including itself.

This does slow down chdir a little, due to the sync on pid lookup and decref,
but scalable chdir() isn't a big deal at this point.

Copy over chdir.c and fchdir.c and rebuild glibc.  Or just make clean it.
kern/src/syscall.c
tools/compilers/gcc-glibc/glibc-2.14.1-ros/sysdeps/ros/chdir.c
tools/compilers/gcc-glibc/glibc-2.14.1-ros/sysdeps/ros/fchdir.c