diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-10-26 04:17:03 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-10-26 04:17:03 +0000 |
commit | 5ed4dadd94be8e20c9b33f89772c135d992473d2 (patch) | |
tree | 9138a9310385726d97ebaddfefade8a3bfa5c785 /pjnath/src | |
parent | 72ce2f4f3d03984f41ac7f1abfa2353276fbc0fe (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/src')
-rw-r--r-- | pjnath/src/pjnath/nat_detect.c | 5 |
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); } |