THREAD_CANCEL_ASYNCHRONOUS
~(int32)THREAD_CANCEL_ASYNCHRONOUS);
oldFlags = atomic_or(&thread->flags, THREAD_CANCEL_ASYNCHRONOUS);
test_asynchronous_cancel(oldFlags | THREAD_CANCEL_ASYNCHRONOUS);
*_oldType = (oldFlags & THREAD_CANCEL_ASYNCHRONOUS) != 0
| THREAD_CANCEL_ASYNCHRONOUS;
if ((atomic_get(&thread->flags) & THREAD_CANCEL_ASYNCHRONOUS) != 0)