[OpenSIPS-Devel] [OpenSIPS/opensips] 71050f: dialog: fix deadlock when freeing a cell on timer
Razvan Crainea
razvan at opensips.org
Fri Sep 14 09:44:42 EDT 2018
Branch: refs/heads/2.3
Home: https://github.com/OpenSIPS/opensips
Commit: 71050fd9623b492c12fab5f1d8aa02c58559067c
https://github.com/OpenSIPS/opensips/commit/71050fd9623b492c12fab5f1d8aa02c58559067c
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