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

Daniel-Constantin Mierla miconda at gmail.com
Mon Nov 3 15:07:31 CET 2014


Hello,

what would be the situation to happen like that? Have you spotted a case
when an non established dialog lasting for more than 5 minutes is still
referenced externally by pointer? For cases when it can take many
minutes to come back to a dialog, the dialog ids should be cloned and
used for searching dialog when needed.

Cheers,
Daniel

On 03/11/14 10:34, Alex Hermann wrote:
> 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);
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Nov 24-27, Berlin - http://www.asipto.com




More information about the sr-dev mailing list