https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r331146 | may | 2011-08-09 20:13:09 +0400 (Tue, 09 Aug 2011) | 4 lines
move ast_cond_signal for admitted call after all data filled/freed
clear all log channels by pointed number not only first
free allocated callToken in ooh323_answer
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@331147
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
ast_channel_unlock(ast);
ooAnswerCall(p->callToken);
}
+ if (callToken) {
+ free(callToken);
+ }
ast_mutex_unlock(&p->lock);
}
pCallAdmInfo->call->callToken);
pCallAdmInfo->call->callState = OO_CALL_CONNECTING;
- ast_cond_signal(&pCallAdmInfo->call->gkWait);
/* ooH323CallAdmitted( pCallAdmInfo->call); */
dListRemove(&pGkClient->callsPendingList, pNode);
dListAppend(&pGkClient->ctxt, &pGkClient->callsAdmittedList,
pNode->data);
memFreePtr(&pGkClient->ctxt, pNode);
+ ast_cond_signal(&pCallAdmInfo->call->gkWait);
return OO_OK;
break;
}
call->callType, call->callToken);
pLogicalChannel = ooFindLogicalChannelByLogicalChannelNo(call,channelNo);
- if(!pLogicalChannel)
+ do { if(!pLogicalChannel)
{
OOTRACEWARN4("Logical Channel %d doesn't exist, in clearLogicalChannel."
" (%s, %s)\n",
ooRemoveLogicalChannel(call, channelNo);/* TODO: efficiency - This causes re-search of
of logical channel in the list. Can be
easily improved.*/
+ } while ((pLogicalChannel = ooFindLogicalChannelByLogicalChannelNo(call,channelNo)));
return OO_OK;
}