move rsyscall out of pthread_create module
authorRich Felker <dalias@aerifal.cx>
Thu, 7 Apr 2011 00:27:07 +0000 (20:27 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 7 Apr 2011 00:27:07 +0000 (20:27 -0400)
commitb2486a8922bf4977bd82c8190258e39de28c053b
tree7e6a928a7fb8f84ab835ea9009ddb447487b44e4
parent74950b336d27532718428c7f5f98409c74f30819
move rsyscall out of pthread_create module

this is something of a tradeoff, as now set*id() functions, rather
than pthread_create, are what pull in the code overhead for dealing
with linux's refusal to implement proper POSIX thread-vs-process
semantics. my motivations are:

1. it's cleaner this way, especially cleaner to optimize out the
rsyscall locking overhead from pthread_create when it's not needed.
2. it's expected that only a tiny number of core system programs will
ever use set*id() functions, whereas many programs may want to use
threads, and making thread overhead tiny is an incentive for "light"
programs to try threads.
src/internal/libc.h
src/internal/pthread_impl.h
src/thread/__rsyscall.c [new file with mode: 0644]
src/thread/pthread_create.c
src/unistd/setgid.c
src/unistd/setregid.c
src/unistd/setresgid.c
src/unistd/setresuid.c
src/unistd/setreuid.c
src/unistd/setuid.c