• R
    fix race condition in pthread_kill · 7779dbd2
    Rich Felker 提交于
    if thread id was reused by the kernel between the time pthread_kill
    read it from the userspace pthread_t object and the time of the tgkill
    syscall, a signal could be sent to the wrong thread. the tgkill
    syscall was supposed to prevent this race (versus the old tkill
    syscall) but it can't; it can only help in the case where the tid is
    reused in a different process, but not when the tid is reused in the
    same process.
    
    the only solution i can see is an extra lock to prevent threads from
    exiting while another thread is trying to pthread_kill them. it should
    be very very cheap in the non-contended case.
    7779dbd2
pthread_create.c 3.0 KB