• R
    overhaul clone syscall wrapping · 3f72cdac
    Rich Felker 提交于
    several things are changed. first, i have removed the old __uniclone
    function signature and replaced it with the "standard" linux
    __clone/clone signature. this was necessary to expose clone to
    applications anyway, and it makes it easier to port __clone to new
    archs, since it's now testable independently of pthread_create.
    
    secondly, i have removed all references to the ugly ldt descriptor
    structure (i386 only) from the c code and pthread structure. in places
    where it is needed, it is now created on the stack just when it's
    needed, in assembly code. thus, the i386 __clone function takes the
    desired thread pointer as its argument, rather than an ldt descriptor
    pointer, just like on all other sane archs. this should not affect
    applications since there is really no way an application can use clone
    with threads/tls in a way that doesn't horribly conflict with and
    clobber the underlying implementation's use. applications are expected
    to use clone only for creating actual processes, possibly with new
    namespace features and whatnot.
    3f72cdac
pthread_create.c 3.4 KB