Ignore:
Timestamp:
Feb 5, 2016 4:29:17 AM (9 years ago)
Author:
nanang
Message:

Fixed #1902:

  • Crash when endpoint has multiple worker threads and SIP TCP transport is disconnected during incoming call handling.
  • Deprecated pjsip_dlg_create_uas(), replaced by pjsip_dlg_create_uas_and_inc_lock().
  • Serialized transaction state notifications (of 'terminated' and 'destroyed') in case of transport error.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip-apps/src/samples/pjsip-perf.c

    r5170 r5241  
    476476 
    477477    /* Create UAS dialog */ 
    478     status = pjsip_dlg_create_uas( pjsip_ua_instance(), rdata, 
    479                                    &app.local_contact, &dlg); 
     478    status = pjsip_dlg_create_uas_and_inc_lock( pjsip_ua_instance(), rdata, 
     479                                                &app.local_contact, &dlg); 
    480480    if (status != PJ_SUCCESS) { 
    481481        const pj_str_t reason = pj_str("Unable to create dialog"); 
     
    503503        pjsip_dlg_create_response(dlg, rdata, 500, NULL, &tdata); 
    504504        pjsip_dlg_send_response(dlg, pjsip_rdata_get_tsx(rdata), tdata); 
     505        pjsip_dlg_dec_lock(dlg); 
    505506        return PJ_TRUE; 
    506507    } 
    507508     
     509    /* Invite session has been created, decrement & release dialog lock. */ 
     510    pjsip_dlg_dec_lock(dlg); 
     511 
    508512    /* Send 100/Trying if needed */ 
    509513    if (app.server.send_trying) { 
Note: See TracChangeset for help on using the changeset viewer.