[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