[sr-dev] git:master: dialog: Don't destroy dialogs in timer while they' re still being referenced

Alex Hermann alex at speakup.nl
Mon Nov 3 10:34:03 CET 2014


Module: sip-router
Branch: master
Commit: 3eef4c8be5cc2b6ccba993a62f8c8039d1adf7da
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=3eef4c8be5cc2b6ccba993a62f8c8039d1adf7da

Author: Alex Hermann <alex at speakup.nl>
Committer: Alex Hermann <alex at speakup.nl>
Date:   Thu Oct 23 15:09:05 2014 +0200

dialog: Don't destroy dialogs in timer while they're still being referenced

---

 modules/dialog/dlg_hash.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/modules/dialog/dlg_hash.c b/modules/dialog/dlg_hash.c
index 09166b8..31ad428 100644
--- a/modules/dialog/dlg_hash.c
+++ b/modules/dialog/dlg_hash.c
@@ -242,7 +242,7 @@ int dlg_clean_run(ticks_t ti)
 		while (dlg) {
 			tdlg = dlg;
 			dlg = dlg->next;
-			if(tdlg->state==DLG_STATE_UNCONFIRMED && tdlg->init_ts<tm-300) {
+			if(tdlg->state==DLG_STATE_UNCONFIRMED && tdlg->init_ts<tm-300 && tdlg->ref<=1) {
 				/* dialog in early state older than 5min */
 				LM_NOTICE("dialog in early state is too old (%p ref %d)\n",
 						tdlg, tdlg->ref);




More information about the sr-dev mailing list