Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [analyzer] lock_guard and unique_lock extension for BlockInCriticalSection ↵ | Gabor Horvath | 2017-10-30 | 1 | -11/+43 |
| | | | | | | | | | | checker A patch by zdtorok (Zoltán Dániel Török)! Differential Revision: https://reviews.llvm.org/D33729 llvm-svn: 316892 | ||||
* | [analyzer] Extend block in critical section check with C11 and Pthread APIs. | Gabor Horvath | 2017-03-10 | 1 | -13/+57 |
| | | | | | | | | Patch by Zoltan Daniel Torok! Differential Revision: https://reviews.llvm.org/D29567 llvm-svn: 297461 | ||||
* | [analyzer] Add a checker that detects blocks in critical sections | Anna Zaks | 2016-09-20 | 1 | -0/+109 |
This checker should find the calls to blocking functions (for example: sleep, getc, fgets,read,recv etc.) inside a critical section. When sleep(x) is called while a mutex is held, other threads cannot lock the same mutex. This might take some time, leading to bad performance or even deadlock. Example: mutex_t m; void f() { sleep(1000); // Error: sleep() while m is locked! [f() is called from foobar() while m is locked] // do some work } void foobar() { lock(m); f(); unlock(m); } A patch by zdtorok (Zoltán Dániel Török)! Differential Revision: https://reviews.llvm.org/D21506 llvm-svn: 282011 |