summaryrefslogtreecommitdiff
path: root/pjnath
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-10-26 04:17:03 +0000
committerBenny Prijono <bennylp@teluu.com>2007-10-26 04:17:03 +0000
commit5ed4dadd94be8e20c9b33f89772c135d992473d2 (patch)
tree9138a9310385726d97ebaddfefade8a3bfa5c785 /pjnath
parent72ce2f4f3d03984f41ac7f1abfa2353276fbc0fe (diff)
More ticket #399: on_request_complete() callback does not release the mutex in some cases
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1524 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjnath')
-rw-r--r--pjnath/src/pjnath/nat_detect.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/pjnath/src/pjnath/nat_detect.c b/pjnath/src/pjnath/nat_detect.c
index 9fd669cc..e6736ea3 100644
--- a/pjnath/src/pjnath/nat_detect.c
+++ b/pjnath/src/pjnath/nat_detect.c
@@ -533,7 +533,7 @@ static void on_request_complete(pj_stun_session *stun_sess,
test_id));
end_session(sess, PJ_STATUS_FROM_STUN_CODE(PJ_STUN_SC_SERVER_ERROR),
PJ_STUN_NAT_TYPE_ERR_UNKNOWN);
- return;
+ goto on_return;
}
PJ_LOG(5,(sess->pool->obj_name, "Completed %s, status=%d",
@@ -556,7 +556,7 @@ static void on_request_complete(pj_stun_session *stun_sess,
}
if (test_completed(sess)<3 || test_completed(sess)!=test_executed(sess))
- return;
+ goto on_return;
/* Handle the test result according to RFC 3489 page 22:
@@ -748,6 +748,7 @@ static void on_request_complete(pj_stun_session *stun_sess,
break;
}
+on_return:
pj_mutex_unlock(sess->mutex);
}