Initialize m_savedNodeList during Partition
This commit is contained in:
@@ -138,12 +138,10 @@ MultithreadedSimulatorImpl::ScheduleWithContext(uint32_t context,
|
|||||||
EventImpl* event)
|
EventImpl* event)
|
||||||
{
|
{
|
||||||
NS_LOG_FUNCTION(this << context << delay.GetTimeStep() << event);
|
NS_LOG_FUNCTION(this << context << delay.GetTimeStep() << event);
|
||||||
if (m_savedNodeList.GetN() <= context)
|
const bool useSaved = (context < m_savedNodeList.GetN());
|
||||||
{
|
Ptr<Node> node = useSaved ? m_savedNodeList.Get(context) : NodeList::GetNode(context);
|
||||||
m_savedNodeList = NodeContainer::GetGlobal();
|
LogicalProcess* remote = MtpInterface::GetSystem(node->GetSystemId());
|
||||||
}
|
remote->ScheduleWithContext(remote, context, delay, event);
|
||||||
LogicalProcess* remote = MtpInterface::GetSystem(m_savedNodeList.Get(context)->GetSystemId());
|
|
||||||
MtpInterface::GetSystem()->ScheduleWithContext(remote, context, delay, event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EventId
|
EventId
|
||||||
@@ -303,6 +301,7 @@ MultithreadedSimulatorImpl::Partition()
|
|||||||
NS_LOG_FUNCTION(this);
|
NS_LOG_FUNCTION(this);
|
||||||
uint32_t systemId = 0;
|
uint32_t systemId = 0;
|
||||||
const NodeContainer nodes = NodeContainer::GetGlobal();
|
const NodeContainer nodes = NodeContainer::GetGlobal();
|
||||||
|
m_savedNodeList = NodeContainer::GetGlobal();
|
||||||
bool* visited = new bool[nodes.GetN()]{false};
|
bool* visited = new bool[nodes.GetN()]{false};
|
||||||
std::queue<Ptr<Node>> q;
|
std::queue<Ptr<Node>> q;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user