On Thu, Mar 22, 2012, Damien Miller wrote: > On Wed, 21 Mar 2012, Philip Guenther wrote: > >> Log message: >> Move __tfork_thread() from rthreads (libpthread) to libc so that >> it can be used for not-strictly-threading purposes > > What is __tfork() used for? I thought rthreads used rfork(RFTHREAD) - was > this replaced along the way?
Yes, tfork also sets the TCB so that thread local storage can work. This required an extra argument to the syscall. The libc stub also does a bit more work than a plain syscall, because the child returns on the same stack as the parent and has to be moved onto its own stack before it does anything (this part is not new).