diff options
author | Liong Sauw Ming <ming@teluu.com> | 2013-10-01 05:00:57 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2013-10-01 05:00:57 +0000 |
commit | b26d40d558f5be24bed5fb107cd4844f3cea1a03 (patch) | |
tree | cb2f7f217f4886b067cc01be4bd66966294e26db /pjnath/src | |
parent | 087474f737e1bec37fe4507b024c6db3a794be90 (diff) |
Fixed #1674: Deadlock when third party media employs external lock and ICE is active
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4606 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjnath/src')
-rw-r--r-- | pjnath/src/pjnath/ice_strans.c | 9 | ||||
-rw-r--r-- | pjnath/src/pjnath/stun_session.c | 6 | ||||
-rw-r--r-- | pjnath/src/pjnath/stun_sock.c | 7 | ||||
-rw-r--r-- | pjnath/src/pjnath/turn_session.c | 8 | ||||
-rw-r--r-- | pjnath/src/pjnath/turn_sock.c | 9 |
5 files changed, 39 insertions, 0 deletions
diff --git a/pjnath/src/pjnath/ice_strans.c b/pjnath/src/pjnath/ice_strans.c index 86031d98..bd817272 100644 --- a/pjnath/src/pjnath/ice_strans.c +++ b/pjnath/src/pjnath/ice_strans.c @@ -797,6 +797,15 @@ PJ_DEF(pj_status_t) pj_ice_strans_set_options(pj_ice_strans *ice_st, return PJ_SUCCESS; } +/** + * Get the group lock for this ICE stream transport. + */ +PJ_DEF(pj_grp_lock_t *) pj_ice_strans_get_grp_lock(pj_ice_strans *ice_st) +{ + PJ_ASSERT_RETURN(ice_st, NULL); + return ice_st->grp_lock; +} + /* * Create ICE! */ diff --git a/pjnath/src/pjnath/stun_session.c b/pjnath/src/pjnath/stun_session.c index 23c3c99b..96959738 100644 --- a/pjnath/src/pjnath/stun_session.c +++ b/pjnath/src/pjnath/stun_session.c @@ -621,6 +621,12 @@ PJ_DEF(void*) pj_stun_session_get_user_data(pj_stun_session *sess) return sess->user_data; } +PJ_DEF(pj_grp_lock_t *) pj_stun_session_get_grp_lock(pj_stun_session *sess) +{ + PJ_ASSERT_RETURN(sess, NULL); + return sess->grp_lock; +} + PJ_DEF(pj_status_t) pj_stun_session_set_software_name(pj_stun_session *sess, const pj_str_t *sw) { diff --git a/pjnath/src/pjnath/stun_sock.c b/pjnath/src/pjnath/stun_sock.c index eadec9cb..333dedd9 100644 --- a/pjnath/src/pjnath/stun_sock.c +++ b/pjnath/src/pjnath/stun_sock.c @@ -528,6 +528,13 @@ PJ_DEF(void*) pj_stun_sock_get_user_data(pj_stun_sock *stun_sock) return stun_sock->user_data; } +/* Get group lock */ +PJ_DECL(pj_grp_lock_t *) pj_stun_sock_get_grp_lock(pj_stun_sock *stun_sock) +{ + PJ_ASSERT_RETURN(stun_sock, NULL); + return stun_sock->grp_lock; +} + /* Notify application that session has failed */ static pj_bool_t sess_fail(pj_stun_sock *stun_sock, pj_stun_sock_op op, diff --git a/pjnath/src/pjnath/turn_session.c b/pjnath/src/pjnath/turn_session.c index 42fa6358..8ab3e315 100644 --- a/pjnath/src/pjnath/turn_session.c +++ b/pjnath/src/pjnath/turn_session.c @@ -525,6 +525,14 @@ PJ_DEF(void*) pj_turn_session_get_user_data(pj_turn_session *sess) return sess->user_data; } +/** + * Get group lock. + */ +PJ_DEF(pj_grp_lock_t *) pj_turn_session_get_grp_lock(pj_turn_session *sess) +{ + PJ_ASSERT_RETURN(sess, NULL); + return sess->grp_lock; +} /* * Configure message logging. By default all flags are enabled. diff --git a/pjnath/src/pjnath/turn_sock.c b/pjnath/src/pjnath/turn_sock.c index 42beb225..541175c6 100644 --- a/pjnath/src/pjnath/turn_sock.c +++ b/pjnath/src/pjnath/turn_sock.c @@ -324,6 +324,15 @@ PJ_DEF(void*) pj_turn_sock_get_user_data(pj_turn_sock *turn_sock) return turn_sock->user_data; } +/* + * Get group lock. + */ +PJ_DEF(pj_grp_lock_t *) pj_turn_sock_get_grp_lock(pj_turn_sock *turn_sock) +{ + PJ_ASSERT_RETURN(turn_sock, NULL); + return turn_sock->grp_lock; +} + /** * Get info. */ |