--- a/src/lte/model/pf-ff-mac-scheduler.cc Fri Jan 20 13:11:55 2012 +0100
+++ b/src/lte/model/pf-ff-mac-scheduler.cc Fri Jan 20 16:26:55 2012 +0100
@@ -1060,13 +1060,15 @@
NS_ASSERT_MSG (itMap != m_p10CqiRxed.end (), " Does not find CQI report for user " << (*itP10).first);
NS_LOG_INFO (this << " P10-CQI exired for user " << (*itP10).first);
m_p10CqiRxed.erase (itMap);
- m_p10CqiTimers.erase (itP10);
+ std::map <uint16_t,uint32_t>::iterator temp = itP10;
+ itP10++;
+ m_p10CqiTimers.erase (temp);
}
else
{
(*itP10).second--;
+ itP10++;
}
- itP10++;
}
// refresh DL CQI A30 Map
@@ -1081,13 +1083,15 @@
NS_ASSERT_MSG (itMap != m_a30CqiRxed.end (), " Does not find CQI report for user " << (*itA30).first);
NS_LOG_INFO (this << " A30-CQI exired for user " << (*itA30).first);
m_a30CqiRxed.erase (itMap);
- m_a30CqiTimers.erase (itA30);
+ std::map <uint16_t,uint32_t>::iterator temp = itA30;
+ itA30++;
+ m_a30CqiTimers.erase (temp);
}
else
{
(*itA30).second--;
+ itA30++;
}
- itA30++;
}
return;
@@ -1110,13 +1114,15 @@
NS_LOG_INFO (this << " UL-CQI exired for user " << (*itUl).first);
(*itMap).second.clear ();
m_ueCqi.erase (itMap);
- m_ueCqiTimers.erase (itUl);
+ std::map <uint16_t,uint32_t>::iterator temp = itUl;
+ itUl++;
+ m_ueCqiTimers.erase (temp);
}
else
{
(*itUl).second--;
+ itUl++;
}
- itUl++;
}
return;
--- a/src/lte/model/rr-ff-mac-scheduler.cc Fri Jan 20 13:11:55 2012 +0100
+++ b/src/lte/model/rr-ff-mac-scheduler.cc Fri Jan 20 16:26:55 2012 +0100
@@ -915,13 +915,15 @@
NS_ASSERT_MSG (itMap != m_p10CqiRxed.end (), " Does not find CQI report for user " << (*itP10).first);
NS_LOG_INFO (this << " P10-CQI exired for user " << (*itP10).first);
m_p10CqiRxed.erase (itMap);
- m_p10CqiTimers.erase (itP10);
+ std::map <uint16_t,uint32_t>::iterator temp = itP10;
+ itP10++;
+ m_p10CqiTimers.erase (temp);
}
else
{
(*itP10).second--;
+ itP10++;
}
- itP10++;
}
return;
@@ -944,13 +946,15 @@
NS_LOG_INFO (this << " UL-CQI exired for user " << (*itUl).first);
(*itMap).second.clear ();
m_ueCqi.erase (itMap);
- m_ueCqiTimers.erase (itUl);
+ std::map <uint16_t,uint32_t>::iterator temp = itUl;
+ itUl++;
+ m_ueCqiTimers.erase (temp);
}
else
{
(*itUl).second--;
+ itUl++;
}
- itUl++;
}
return;