CertC-CONΒΆ

Concurrency

Nested Rules

CertC-CON05

Do not perform operations that can block while holding a lock

CertC-CON30

Clean up thread-specific storage

CertC-CON31

Do not destroy a mutex while it is locked

CertC-CON32

Prevent data races when accessing bit-fields from multiple threads

CertC-CON33

Avoid race conditions when using library functions

CertC-CON34

Declare objects shared between threads with appropriate storage durations

CertC-CON35

Avoid deadlock by locking in a predefined order

CertC-CON36

Wrap functions that can spuriously wake up in a loop

CertC-CON37

Do not call signal() in a multithreaded program

CertC-CON38

Preserve thread safety and liveness when using condition variables

CertC-CON39

Do not join or detach a thread that was previously joined or detached

CertC-CON40

Do not refer to an atomic variable twice in an expression

CertC-CON41

Wrap functions that can fail spuriously in a loop

CertC-CON43

Do not allow data races in multithreaded code

Options