[OpenSIPS-Devel] [OpenSIPS/opensips] ba4c25: dialog: fix deadlock when freeing a cell on timer
Razvan Crainea
razvan at opensips.org
Fri Sep 14 09:43:13 EDT 2018
Branch: refs/heads/2.4
Home: https://github.com/OpenSIPS/opensips
Commit: ba4c2537a5876f99ca360c589e82f851433065fa
https://github.com/OpenSIPS/opensips/commit/ba4c2537a5876f99ca360c589e82f851433065fa
Author: Razvan Crainea <razvan at opensips.org>
Date: 2018-09-14 (Fri, 14 Sep 2018)
Changed paths:
M modules/dialog/dlg_db_handler.c
Log Message:
-----------
dialog: fix deadlock when freeing a cell on timer
When freeing a dialog on timer, sequential destroy callbacks might try
to fetch the dialog lock, resulting in a deadlock. The spotted backtrace
is dialog_update_db -> destroy_dlg -> free_dlg_dlg ->
destroy_dlg_callbacks_list -> unref_acc_ctx -> free_acc_ctx ->
store_dlg_value
Thanks go to Jonathan Hulme for spotting this and offering testing
(cherry picked from commit 6fcbcc816b6d8224ed97f14cec74181c0fe6423f)
**NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.
More information about the Devel
mailing list