Anna Zaks
c154f7bc37
[analyzer] Add a checker that detects blocks in critical sections
...
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
2016-09-20 20:28:50 +00:00
..
2016-08-12 17:46:23 +00:00
2014-08-13 16:25:19 +00:00
2016-09-01 13:55:38 +00:00
2016-01-30 01:27:06 +00:00
2015-09-16 22:03:05 +00:00
2016-09-19 20:39:52 +00:00
2016-02-10 19:11:58 +00:00
2016-09-20 20:28:50 +00:00
2015-09-16 22:03:05 +00:00
2015-09-02 20:01:30 +00:00
2016-03-23 16:14:12 +00:00
2015-12-28 13:06:58 +00:00
2015-09-16 22:03:05 +00:00
2016-07-28 00:52:10 +00:00
2016-07-28 17:18:33 +00:00
2014-05-27 02:45:47 +00:00
2015-11-26 22:08:58 +00:00
2015-09-08 03:50:52 +00:00
2016-07-18 19:02:11 +00:00
2016-04-28 01:09:09 +00:00
2016-04-28 01:09:09 +00:00
2016-08-20 17:35:53 +00:00
2016-09-20 20:28:50 +00:00
2016-08-17 16:02:45 +00:00
2016-08-17 15:37:52 +00:00
2015-07-03 15:12:24 +00:00
2016-07-21 23:42:31 +00:00
2016-06-24 16:26:43 +00:00
2015-12-01 09:00:41 +00:00
2016-01-29 18:43:15 +00:00
2016-01-26 18:05:23 +00:00
2015-09-16 22:03:05 +00:00
2016-08-18 07:54:50 +00:00
2016-09-13 17:41:05 +00:00
2016-01-15 15:22:05 +00:00
2015-09-16 22:03:05 +00:00
2015-12-28 13:06:58 +00:00
2015-12-28 13:06:58 +00:00
2015-04-17 17:00:16 +00:00
2016-04-11 08:26:13 +00:00
2015-08-13 18:12:56 +00:00
2016-08-30 23:07:14 +00:00
2016-08-18 07:54:50 +00:00
2016-02-16 02:14:44 +00:00
2016-09-19 20:39:52 +00:00
2016-07-09 12:16:58 +00:00
2015-09-08 03:50:52 +00:00
2015-09-16 22:03:05 +00:00
2015-12-30 00:08:59 +00:00
2015-09-16 22:03:05 +00:00
2016-06-24 04:05:48 +00:00
2016-08-18 07:54:50 +00:00
2015-09-16 22:03:05 +00:00
2015-12-28 13:06:58 +00:00
2016-02-10 19:11:58 +00:00
2015-09-08 03:50:52 +00:00
2015-12-28 13:06:58 +00:00
2016-03-04 14:18:52 +00:00
2015-07-03 15:12:24 +00:00
2016-08-15 20:16:13 +00:00
2016-07-18 19:02:11 +00:00
2015-09-16 22:03:05 +00:00
2016-07-18 19:02:11 +00:00
2016-08-18 07:54:50 +00:00
2015-09-16 22:03:05 +00:00
2015-09-16 22:03:05 +00:00
2014-11-04 01:13:43 +00:00
2016-05-27 14:27:13 +00:00
2016-05-26 14:02:17 +00:00
2016-07-18 19:02:11 +00:00
2015-09-16 22:03:05 +00:00
2015-09-16 22:03:05 +00:00
2016-02-19 01:35:10 +00:00
2016-05-27 14:27:13 +00:00
2015-09-16 22:03:05 +00:00
2015-09-16 22:03:05 +00:00
2015-09-16 22:03:05 +00:00
2015-09-16 22:03:05 +00:00
2015-09-16 22:03:05 +00:00
2016-01-30 01:27:06 +00:00
2016-08-22 11:21:30 +00:00
2016-01-26 19:01:06 +00:00
2015-09-08 03:50:52 +00:00
2016-02-10 19:11:58 +00:00