THREAD_DEAD
if ((atomic_or(&thread->flags, THREAD_DETACHED) & THREAD_DEAD) != 0)
if ((flags & THREAD_DEAD) != 0)
if ((atomic_or(&thread->flags, THREAD_DEAD) & THREAD_DETACHED) != 0)