...
Blocking or lengthy operations performed within synchronized regions could result in a deadlocked or an unresponsive system.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
POS52-C | Low | Probable | High | P2 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
CodeSonar |
| CONCURRENCY.STARVE.BLOCKING | Blocking in Critical Section | ||||||
Klocwork |
| CONC.SLEEP |
Parasoft C/C++test |
Related Guidelines
| CERT_C-POS52-a | Do not use blocking functions while holding a lock | |||||||
Polyspace Bug Finder |
| CERT C: Rule POS52-C | Checks for blocking operation while holding lock (rule partially covered) | ||||||
PRQA QA-C |
| 4966, 4967 |
Related Guidelines
Key here (explains table format and definitions)
Taxonomy | Taxonomy item | Relationship |
---|---|---|
CERT C |
LCK09-J. Do not perform operations that can block while holding a lock | Prior to 2018-01-12: CERT: Unspecified Relationship | |
CWE 2.11 | CWE-557 | 2017-07-10: CERT: Rule subset of CWE |
CERT-CWE Mapping Notes
Key here for mapping notes
CWE-557 and POS52-C
CWE-557 = Union( POS52-C, list) where list =
- Concurrency issues besides blocking while holding a POSIX lock
Bibliography
...
...