Changeset 3999 for pjproject/trunk/pjnath/src/pjnath/ice_session.c
- Timestamp:
- Mar 30, 2012 7:10:13 AM (12 years ago)
- Location:
- pjproject/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk
-
pjproject/trunk/pjnath/src/pjnath/ice_session.c
r3753 r3999 2855 2855 pj_ice_sess_comp *comp; 2856 2856 pj_ice_sess_cand *cand; 2857 pj_uint8_t transport_id; 2858 pj_sockaddr addr; 2857 2859 2858 2860 PJ_ASSERT_RETURN(ice && comp_id, PJ_EINVAL); … … 2870 2872 if (comp == NULL) { 2871 2873 status = PJNATH_EICEINCOMPID; 2874 pj_mutex_unlock(ice->mutex); 2872 2875 goto on_return; 2873 2876 } … … 2875 2878 if (comp->valid_check == NULL) { 2876 2879 status = PJNATH_EICEINPROGRESS; 2880 pj_mutex_unlock(ice->mutex); 2877 2881 goto on_return; 2878 2882 } 2879 2883 2880 2884 cand = comp->valid_check->lcand; 2881 status = (*ice->cb.on_tx_pkt)(ice, comp_id, cand->transport_id, 2885 transport_id = cand->transport_id; 2886 pj_sockaddr_cp(&addr, &comp->valid_check->rcand->addr); 2887 2888 /* Release the mutex now to avoid deadlock (see ticket #1451). */ 2889 pj_mutex_unlock(ice->mutex); 2890 2891 status = (*ice->cb.on_tx_pkt)(ice, comp_id, transport_id, 2882 2892 data, data_len, 2883 & comp->valid_check->rcand->addr,2893 &addr, 2884 2894 sizeof(pj_sockaddr_in)); 2885 2895 2886 2896 on_return: 2887 pj_mutex_unlock(ice->mutex);2888 2897 return status; 2889 2898 }
Note: See TracChangeset
for help on using the changeset viewer.