Ignore:
Timestamp:
Feb 5, 2016 4:29:17 AM (8 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/siprtp.c

    r5170 r5241  
    638638 
    639639    /* Create UAS dialog */ 
    640     status = pjsip_dlg_create_uas( pjsip_ua_instance(), rdata, 
    641                                    &app.local_contact, &dlg); 
     640    status = pjsip_dlg_create_uas_and_inc_lock( pjsip_ua_instance(), rdata, 
     641                                                &app.local_contact, &dlg); 
    642642    if (status != PJ_SUCCESS) { 
    643643        const pj_str_t reason = pj_str("Unable to create dialog"); 
     
    656656        pjsip_dlg_create_response(dlg, rdata, 500, NULL, &tdata); 
    657657        pjsip_dlg_send_response(dlg, pjsip_rdata_get_tsx(rdata), tdata); 
     658        pjsip_dlg_dec_lock(dlg); 
    658659        return; 
    659660    } 
    660661     
     662    /* Invite session has been created, decrement & release dialog lock */ 
     663    pjsip_dlg_dec_lock(dlg); 
    661664 
    662665    /* Attach call data to invite session */ 
Note: See TracChangeset for help on using the changeset viewer.