Module: sip-router
Branch: 3.1
Commit: 084da0afc666fef6f92c00754bbfb3c192751ff6
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=084da0afc666fef6f92c00754bbfb3c192751ff6

Author: Timo Reimann <[email protected]>
Committer: Timo Reimann <[email protected]>
Date:   Thu Aug 25 13:26:32 2011 +0200

modules_k/dialog: Provide in-code documentation for tricky part in
dlg_new_dialog().
(cherry picked from commit d903b7707d1f9c5ecb4110de9ab9d8a573a6f8cd)

---

 modules_k/dialog/dlg_handlers.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/modules_k/dialog/dlg_handlers.c b/modules_k/dialog/dlg_handlers.c
index 3942b44..471f470 100644
--- a/modules_k/dialog/dlg_handlers.c
+++ b/modules_k/dialog/dlg_handlers.c
@@ -796,10 +796,14 @@ finish:
        ref_dlg(dlg, 1);
 
        if (t) {
+               // transaction exists ==> keep ref counter large enough to
+               // avoid premature cleanup and ensure proper dialog referencing
                store_dlg_in_tm( msg, t, dlg);
        }
        else
        {
+               // no transaction exists ==> postpone work until we see the
+               // request being forwarded statefully
                if ( d_tmb.register_tmcb( msg, NULL, TMCB_REQUEST_FWDED,
                                        store_dlg_in_tm_cb, (void*)dlg, NULL)<0 
) {
                        LM_ERR("failed to store dialog in transaction during 
dialog creation for later reference\n");


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to