Revert "refs #5684 - make sure we retry all contexts ids if we start at the end of the list"

This reverts commit 3e39945d73bc55c9bae492161e968bed239a4f4f.
This commit is contained in:
Kapil 2012-09-06 11:33:08 -04:00
parent a425177bbf
commit 5f73d7457f

View File

@ -569,7 +569,6 @@ mg_context_t *megaco_get_context(megaco_profile_t *profile, uint32_t context_id)
mg_context_t *megaco_choose_context(megaco_profile_t *profile)
{
mg_context_t *ctx=NULL;
uint32_t start_id = profile->next_context_id;
switch_thread_rwlock_wrlock(profile->contexts_rwlock);
/* Try the next one */
@ -577,7 +576,6 @@ mg_context_t *megaco_choose_context(megaco_profile_t *profile)
profile->next_context_id = 1;
}
again:
/* Look for an available context */
for (; profile->next_context_id < MG_MAX_CONTEXTS; profile->next_context_id++) {
if ((profile->contexts_bitmap[profile->next_context_id / 8] & (1 << (profile->next_context_id % 8))) == 0) {
@ -602,12 +600,6 @@ again:
break;
}
}
if (!ctx && start_id > 1) {
start_id = 1;
profile->next_context_id = 1;
goto again;
}
switch_thread_rwlock_unlock(profile->contexts_rwlock);
@ -644,27 +636,19 @@ void megaco_release_context(mg_context_t *ctx)
uint32_t mg_rtp_request_id(megaco_profile_t *profile)
{
uint32_t rtp_id = 0x00;
uint32_t start_id = profile->rtpid_next;
if (profile->rtpid_next >= MG_MAX_RTPID || profile->rtpid_next == 0) {
profile->rtpid_next = 1;
}
again:
for (; profile->rtpid_next < MG_MAX_RTPID; profile->rtpid_next++) {
if ((profile->rtpid_bitmap[profile->rtpid_next / 8] & (1 << (profile->rtpid_next % 8))) == 0) {
profile->rtpid_bitmap[profile->rtpid_next / 8] |= 1 << (profile->rtpid_next % 8);
rtp_id = profile->rtpid_next;
profile->rtpid_next++;
profile->rtpid_next++;
return rtp_id;
}
}
if (start_id > 1) {
start_id = 1;
profile->rtpid_next = 1;
goto again;
}
return 0;
}