Ignore:
Timestamp:
Apr 4, 2006 11:06:34 AM (18 years ago)
Author:
bennylp
Message:

Changed pjsip_dlg_send_request() API to NOT return transaction as it is not safe against race condition

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip-ua/sip_inv.c

    r324 r376  
    177177    } 
    178178 
    179     status = pjsip_dlg_send_request(inv->dlg, tdata, NULL); 
     179    status = pjsip_dlg_send_request(inv->dlg, tdata, -1, NULL); 
    180180    if (status != PJ_SUCCESS) { 
    181181        /* Better luck next time */ 
     
    15811581 
    15821582    if (tdata->msg->type == PJSIP_REQUEST_MSG) { 
    1583         pjsip_transaction *tsx; 
    15841583        struct tsx_inv_data *tsx_inv_data; 
    15851584 
    1586         status = pjsip_dlg_send_request(inv->dlg, tdata, &tsx); 
     1585        pjsip_dlg_inc_lock(inv->dlg); 
     1586 
     1587        tsx_inv_data = pj_pool_zalloc(inv->pool, sizeof(struct tsx_inv_data)); 
     1588        tsx_inv_data->inv = inv; 
     1589 
     1590        pjsip_dlg_dec_lock(inv->dlg); 
     1591 
     1592        status = pjsip_dlg_send_request(inv->dlg, tdata, mod_inv.mod.id,  
     1593                                        tsx_inv_data); 
    15871594        if (status != PJ_SUCCESS) 
    15881595            return status; 
    1589  
    1590         tsx_inv_data = pj_pool_zalloc(tsx->pool, sizeof(struct tsx_inv_data)); 
    1591         tsx_inv_data->inv = inv; 
    1592  
    1593         tsx->mod_data[mod_inv.mod.id] = tsx_inv_data; 
    15941596 
    15951597    } else { 
Note: See TracChangeset for help on using the changeset viewer.