JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
C and C++

CodeSonar Concurrency Models

CodeSonar ships with library models for concurrency libraries as well as for many other standard libraries. These models support checks for the CONCURRENCY.* warning classes, including Missing Lock Acquisition and Locked Twice.

The concurrency models for CodeSonar fall into four categories. Each category has its own documentation section that includes a list of the models shipped with CodeSonar and notes on creating your own models with the Extension API.

Operations on Locks Lock acquisition and release models support the checks for the CONCURRENCY.LOCK.* warning classes, as well as those for Blocking in Critical Section and Data Race.
Thread Entry Points Identify thread entry points and signal handler entry points for the Data Race check.
Data Race Exclusion Identify data, operations, and functions that cannot lead to a data race (and so should be ignored by the Data Race check).
Blocking Functions Identify functions that should trigger Blocking in Critical Section warnings if they are called inside a critical section.
 

To report problems with this documentation, please visit https://support.codesecure.com/.