r 4258 in private: Check for defunct transactions when handling Paging Respone.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4918 19bc5d8c-e614-43d4-8b26-e1612bc8e597
This commit is contained in:
kurtis.heimerl
2013-02-16 12:43:44 +00:00
parent 953ae9e543
commit 64b0bfe48d

View File

@@ -302,6 +302,7 @@ void Control::PagingResponseHandler(const L3PagingResponse* resp, LogicalChannel
DCCH->send(L3ChannelRelease(0x41));
return;
}
LOG(INFO) << "paging reponse for transaction " << *transaction;
// Set the transaction channel.
transaction->channel(DCCH);
// We are looking for a mobile-terminated transaction.
@@ -419,7 +420,9 @@ unsigned Pager::pageAll()
// Clear expired entries.
PagingEntryList::iterator lp = mPageIDs.begin();
while (lp != mPageIDs.end()) {
if (!lp->expired()) ++lp;
bool expired = lp->expired();
bool defunct = gTransactionTable.find(lp->transactionID()) == NULL;
if (!expired && !defunct) ++lp;
else {
LOG(INFO) << "erasing " << lp->ID();
// Non-responsive, dead transaction?