Alexey Khabulyak
91e1b9eb1f
app_dial.c: Moved channel lock to prevent deadlock
...
It's reproducible with pbx_lua, not regular dialplan.
deadlock description:
1. asterisk locks a channel
2. calls function onedigit_goto
3. calls ast_goto_if_exists funciton
4. checks ast_exists_extension -> pbx_extension_helper
5. pbx_extension_helper calls pbx_find_extension
6. Then asterisk starts autoservice in a new thread
7. autoservice run tries to lock the channel again
Because our channel is locked already, autoservice can't lock.
Autoservice can't lock -> autoservice stop is waiting forever.
onedigit_goto waits for autoservice stop.
Resolves: https://github.com/asterisk/asterisk/issues/1335
(cherry picked from commit 15f93f8cfa
)
2025-09-17 13:36:51 -06:00
..
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-09-17 13:36:50 -06:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-09-17 13:36:51 -06:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-01-23 18:39:42 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-05-01 12:41:17 +00:00
2025-01-23 18:39:42 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-09-17 13:36:50 -06:00
2025-05-01 12:41:17 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-09-17 13:36:24 -06:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-09-17 13:36:24 -06:00
2025-01-23 18:39:42 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2022-04-26 17:40:39 -05:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-05-01 12:41:17 +00:00
2025-09-17 13:36:24 -06:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:21 +00:00
2025-09-17 13:36:24 -06:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2019-06-28 07:32:03 -06:00
2019-06-28 07:32:03 -06:00
2019-06-28 07:32:03 -06:00
2019-06-28 07:32:03 -06:00
2025-05-01 12:41:17 +00:00
2012-06-15 15:33:41 +00:00
2025-01-23 18:39:42 +00:00
2025-03-20 18:29:20 +00:00
2025-05-01 12:41:17 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2025-03-20 18:29:20 +00:00
2017-12-22 09:23:22 -05:00
2017-12-22 09:23:22 -05:00
2025-09-17 13:36:23 -06:00