CertC++-CONΒΆ
Concurrency
Nested Rules
Avoid race conditions when using library functions |
|
Do not call signal() in a multithreaded program |
|
Do not refer to an atomic variable twice in an expression |
|
Wrap functions that can fail spuriously in a loop |
|
Do not allow data races in multithreaded code |
|
Do not destroy a mutex while it is locked |
|
Ensure actively held locks are released on exceptional conditions |
|
Prevent data races when accessing bit-fields from multiple threads |
|
Avoid deadlock by locking in a predefined order |
|
Wrap functions that can spuriously wake up in a loop |
|
Preserve thread safety and liveness when using condition variables |
|
Do not speculatively lock a non-recursive mutex that is already owned by the calling thread |
Options
Setting an option for this rule means setting the default for all nested rules.
This rule shares the following common options: exclude_in_macros, exclude_messages_in_system_headers, excludes, extend_exclude_to_macro_invocations, includes, justification_checker, languages, post_processing, provider, report_at, severity
The following places define options that affect this rule: Stylechecks, Analysis-GlobalOptions
This rule has no individual options.