concurrency-thread-canceltype-asynchronous¶
查找 pthread_setcanceltype
函数调用,其中线程的取消类型设置为异步。异步取消类型 (PTHREAD_CANCEL_ASYNCHRONOUS
) 通常不安全,请改用类型 PTHREAD_CANCEL_DEFERRED
,该类型为默认类型。即使在延迟取消的情况下,异步信号处理程序中的取消点也可能仍然被执行,其效果等同于异步取消。
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype);
此检查对应于 CERT C 编码标准规则 POS47-C. 不要使用可以异步取消的线程。
cert-pos47-c 作为此检查的别名在此处重定向。