More ticket #399: on_request_complete() callback does not release the mutex in some cases
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@1524 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjnath/src/pjnath/nat_detect.c b/pjnath/src/pjnath/nat_detect.c
index 9fd669c..e6736ea 100644
--- a/pjnath/src/pjnath/nat_detect.c
+++ b/pjnath/src/pjnath/nat_detect.c
@@ -533,7 +533,7 @@
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 @@
}
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 @@
break;
}
+on_return:
pj_mutex_unlock(sess->mutex);
}