summaryrefslogtreecommitdiff
path: root/pjnath/src
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2013-10-01 05:00:57 +0000
committerLiong Sauw Ming <ming@teluu.com>2013-10-01 05:00:57 +0000
commitb26d40d558f5be24bed5fb107cd4844f3cea1a03 (patch)
treecb2f7f217f4886b067cc01be4bd66966294e26db /pjnath/src
parent087474f737e1bec37fe4507b024c6db3a794be90 (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.c9
-rw-r--r--pjnath/src/pjnath/stun_session.c6
-rw-r--r--pjnath/src/pjnath/stun_sock.c7
-rw-r--r--pjnath/src/pjnath/turn_session.c8
-rw-r--r--pjnath/src/pjnath/turn_sock.c9
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.
*/