Joshua C. Colp
8d6c2221a9
pbx: Fix hints deadlock between reload and ExtensionState.
...
When the ExtensionState AMI action is executed on a pattern matched
hint it can end up adding a new hint if one does not already exist.
This results in a locking order of contexts -> hints -> contexts.
If at the same time a reload is occurring and adding its own hint
it will have a locking order of hints -> contexts.
This results in a deadlock as one thread wants a lock on contexts
that the other has, and the other thread wants a lock on hints
that the other has.
This change enforces a hints -> contexts locking order by explicitly
locking hints in the places where a hint is added when queried for.
This matches the order seen through normal adding of hints.
ASTERISK-29046
Change-Id: I49f027f4aab5d2d50855ae937bcf5e2fd8bfc504
2020-08-28 04:32:04 -05:00
..
2020-05-05 09:22:51 -05:00
2018-03-06 11:23:50 -06:00
2017-11-20 15:02:21 -05:00
2020-07-20 09:57:52 -05:00
2017-12-22 09:14:07 -05:00
2018-12-07 08:57:02 -05:00
2019-08-01 16:22:01 -05:00
2020-05-06 06:40:12 -05:00
2020-05-05 09:22:51 -05:00
2017-12-22 09:14:07 -05:00
2020-05-05 09:22:51 -05:00
2017-12-22 09:14:07 -05:00
2020-07-27 17:30:17 -05:00
2018-12-12 13:14:04 -04:00
2018-10-12 13:16:29 -04:00
2019-09-23 06:20:23 -06:00
2018-10-03 12:02:35 -04:00
2019-09-24 12:24:15 -04:00
2017-12-22 09:14:07 -05:00
2017-12-22 09:14:07 -05:00
2019-09-24 12:24:15 -04:00
2020-03-13 09:56:11 -05:00
2017-03-15 17:43:54 -05:00
2018-06-19 14:13:07 -05:00
2020-04-06 10:58:11 -05:00
2017-09-06 12:41:25 -05:00
2017-12-22 09:14:07 -05:00
2018-06-01 14:24:59 -06:00
2018-02-15 15:30:35 -05:00
2020-08-11 17:19:51 -05:00
2018-10-19 17:32:58 -04:00
2018-03-07 17:02:49 -05:00
2019-08-01 16:22:01 -05:00
2020-01-22 11:56:38 -07:00
2019-08-07 07:47:17 -03:00
2019-03-11 11:39:08 -03:00
2020-07-06 05:23:11 -05:00
2016-08-24 11:02:47 -05:00
2018-12-03 17:47:06 -05:00
2017-07-24 18:46:28 +00:00
2018-10-19 17:32:58 -04:00
2018-11-21 09:56:07 -05:00
2019-12-19 05:48:37 -05:00
2020-04-29 13:04:55 -05:00
2017-06-08 17:36:00 +02:00
2018-11-21 09:56:07 -05:00
2019-12-27 18:29:45 -05:00
2019-03-11 11:39:08 -03:00
2020-03-31 12:07:00 -05:00
2017-12-22 09:14:07 -05:00
2018-03-10 04:33:33 -05:00
2019-03-11 11:39:08 -03:00
2020-03-09 10:04:08 -05:00
2019-11-11 18:11:27 -06:00
2018-10-19 17:32:58 -04:00
2020-01-05 21:17:06 -06:00
2020-02-17 11:56:45 -05:00
2017-01-17 17:08:36 -06:00
2017-01-17 17:08:36 -06:00
2018-10-19 17:32:58 -04:00
2020-02-24 13:37:21 -06:00
2017-12-22 09:14:07 -05:00
2018-10-19 17:32:58 -04:00
2020-04-14 09:36:54 -05:00
2017-12-22 09:14:07 -05:00
2017-10-24 17:17:53 -04:00
2017-09-28 15:47:55 -05:00
2020-06-10 13:56:03 -05:00
2019-11-11 18:11:27 -06:00
2016-09-20 08:00:14 -06:00
2017-12-20 12:54:13 -05:00
2019-12-17 14:11:52 +00:00
2017-01-24 11:23:05 -06:00
2018-05-20 13:53:19 +02:00
2019-01-28 10:07:51 -07:00
2018-10-19 11:43:28 -05:00
2018-11-19 05:47:35 -07:00
2018-03-08 12:41:53 +01:00
2016-11-14 17:02:00 -05:00
2019-01-23 09:52:02 -06:00
2017-12-22 09:14:07 -05:00
2019-04-23 17:39:40 -05:00
2017-12-19 08:52:33 -06:00
2020-07-06 05:23:11 -05:00
2019-01-28 10:07:51 -07:00
2020-07-06 05:23:11 -05:00
2019-04-23 17:39:40 -05:00
2020-03-31 10:45:04 -05:00
2018-01-01 19:17:15 -05:00
2018-03-07 17:02:49 -05:00
2016-11-01 12:37:58 -05:00
2018-11-11 09:23:04 -05:00
2019-03-11 11:39:08 -03:00
2018-03-15 05:27:41 -06:00
2018-03-10 04:33:33 -05:00
2018-06-19 11:46:45 -05:00
2017-02-13 10:57:16 -05:00
2020-06-10 13:56:03 -05:00
2020-08-28 04:32:04 -05:00
2018-10-19 17:32:58 -04:00
2017-12-22 09:14:07 -05:00
2017-12-22 09:14:07 -05:00
2019-03-11 11:39:08 -03:00
2019-08-08 11:30:47 -05:00
2020-02-25 17:09:55 +01:00
2019-07-18 09:20:35 +02:00
2018-08-02 16:58:47 -05:00
2019-03-11 11:39:08 -03:00
2019-11-18 11:06:20 -05:00
2017-12-22 09:14:07 -05:00
2020-02-18 13:24:32 +00:00
2019-02-04 15:40:02 -05:00
2017-02-07 18:12:17 +00:00
2019-06-13 14:05:12 -06:00
2019-03-11 11:39:08 -03:00
2019-11-11 18:11:27 -06:00
2020-05-05 10:09:27 -05:00
2019-03-11 11:39:08 -03:00
2019-01-17 14:51:11 -04:00
2018-12-07 06:57:15 -07:00
2019-03-11 11:39:08 -03:00
2020-06-10 13:56:03 -05:00
2020-05-06 06:40:12 -05:00
2019-02-19 09:43:40 -06:00
2017-08-10 14:27:15 -05:00
2019-10-07 16:48:26 -05:00
2020-05-11 05:47:49 -05:00
2017-12-22 09:14:07 -05:00
2019-03-11 11:39:08 -03:00
2019-02-20 10:23:26 -07:00
2017-12-22 09:14:07 -05:00
2020-01-20 15:57:58 -06:00
2019-08-06 08:54:36 -05:00
2017-12-22 09:14:07 -05:00
2020-07-27 17:30:17 -05:00
2018-12-12 13:11:17 -06:00
2018-06-23 00:27:06 -06:00
2018-07-20 05:20:25 -06:00
2018-11-21 09:56:07 -05:00