Ignore:
Timestamp:
May 15, 2015 7:19:28 AM (9 years ago)
Author:
ming
Message:

Fixed #1852: Assertion due to premature destroy of dialog when media channel init fails during incoming call

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_call.c

    r5094 r5096  
    14811481                 * a response message and terminate the invite here. 
    14821482                 */ 
     1483                pjsip_dlg_inc_lock(dlg); 
    14831484                pjsip_dlg_respond(dlg, rdata, sip_err_code, NULL, NULL, NULL); 
    14841485                if (call->inv && call->inv->dlg) { 
    14851486                    pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE); 
    14861487                } 
     1488                pjsip_dlg_dec_lock(dlg); 
     1489 
    14871490                call->inv = NULL; 
    14881491                call->async_call.dlg = NULL; 
     
    14911494        } else if (status != PJ_EPENDING) { 
    14921495            pjsua_perror(THIS_FILE, "Error initializing media channel", status); 
     1496             
     1497            pjsip_dlg_inc_lock(dlg); 
    14931498            pjsip_dlg_respond(dlg, rdata, sip_err_code, NULL, NULL, NULL); 
    14941499            if (call->inv && call->inv->dlg) { 
    14951500                pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE); 
    14961501            } 
     1502            pjsip_dlg_dec_lock(dlg); 
     1503 
    14971504            call->inv = NULL; 
    14981505            call->async_call.dlg = NULL; 
Note: See TracChangeset for help on using the changeset viewer.