tidy - concurrency-thread-canceltype-asynchronous — Extra Clang Tools 22.0.0git documentation (original) (raw)
Finds pthread_setcanceltype function calls where a thread’s cancellation type is set to asynchronous. Asynchronous cancellation type (PTHREAD_CANCEL_ASYNCHRONOUS) is generally unsafe, use typePTHREAD_CANCEL_DEFERRED instead which is the default. Even with deferred cancellation, a cancellation point in an asynchronous signal handler may still be acted upon and the effect is as if it was an asynchronous cancellation.
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype);
This check corresponds to the CERT C Coding Standard rulePOS47-C. Do not use threads that can be canceled asynchronously.
cert-pos47-c redirects here as an alias of this check.