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/src/pjsua-lib/pjsua_pres.c

    r5224 r5241  
    856856 
    857857    /* Create UAS dialog: */ 
    858     status = pjsip_dlg_create_uas(pjsip_ua_instance(), rdata,  
    859                                   &contact, &dlg); 
     858    status = pjsip_dlg_create_uas_and_inc_lock(pjsip_ua_instance(), rdata, 
     859                                               &contact, &dlg); 
    860860    if (status != PJ_SUCCESS) { 
    861861        pjsua_perror(THIS_FILE,  
     
    922922        } 
    923923 
     924        pjsip_dlg_dec_lock(dlg); 
    924925        PJSUA_UNLOCK(); 
    925926        pj_log_pop_indent(); 
    926927        return PJ_TRUE; 
    927928    } 
     929 
     930    /* Subscription has been created, decrement & release dlg lock */ 
     931    pjsip_dlg_dec_lock(dlg); 
    928932 
    929933    /* If account is locked to specific transport, then lock dialog 
     
    10361040 
    10371041    /* Done: */ 
    1038  
    10391042    PJSUA_UNLOCK(); 
    10401043    pj_log_pop_indent(); 
Note: See TracChangeset for help on using the changeset viewer.