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/simpleua.c

    r4815 r5241  
    726726     * Create UAS dialog. 
    727727     */ 
    728     status = pjsip_dlg_create_uas( pjsip_ua_instance(),  
    729                                    rdata, 
    730                                    &local_uri, /* contact */ 
    731                                    &dlg); 
     728    status = pjsip_dlg_create_uas_and_inc_lock( pjsip_ua_instance(), 
     729                                                rdata, 
     730                                                &local_uri, /* contact */ 
     731                                                &dlg); 
    732732    if (status != PJ_SUCCESS) { 
    733733        pjsip_endpt_respond_stateless(g_endpt, rdata, 500, NULL, 
     
    742742    status = pjmedia_endpt_create_sdp( g_med_endpt, rdata->tp_info.pool, 
    743743                                       MAX_MEDIA_CNT, g_sock_info, &local_sdp); 
    744     PJ_ASSERT_RETURN(status == PJ_SUCCESS, PJ_TRUE); 
     744    pj_assert(status == PJ_SUCCESS); 
     745    if (status != PJ_SUCCESS) { 
     746        pjsip_dlg_dec_lock(dlg); 
     747        return PJ_TRUE; 
     748    } 
    745749 
    746750 
     
    750754     */ 
    751755    status = pjsip_inv_create_uas( dlg, rdata, local_sdp, 0, &g_inv); 
    752     PJ_ASSERT_RETURN(status == PJ_SUCCESS, PJ_TRUE); 
     756    pj_assert(status == PJ_SUCCESS); 
     757    if (status != PJ_SUCCESS) { 
     758        pjsip_dlg_dec_lock(dlg); 
     759        return PJ_TRUE; 
     760    } 
     761 
     762    /* 
     763     * Invite session has been created, decrement & release dialog lock. 
     764     */ 
     765    pjsip_dlg_dec_lock(dlg); 
    753766 
    754767 
Note: See TracChangeset for help on using the changeset viewer.