Fix bug 80 (valgrind error when finalizing PacketMetadata).
This commit is contained in:
@@ -43,6 +43,7 @@ PacketMetadata::DataFreeList::~DataFreeList ()
|
||||
{
|
||||
PacketMetadata::Deallocate (*i);
|
||||
}
|
||||
PacketMetadata::m_enable = false;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -643,6 +644,11 @@ PacketMetadata::Create (uint32_t size)
|
||||
void
|
||||
PacketMetadata::Recycle (struct PacketMetadata::Data *data)
|
||||
{
|
||||
if (!m_enable)
|
||||
{
|
||||
PacketMetadata::Deallocate (data);
|
||||
return;
|
||||
}
|
||||
NS_LOG_LOGIC ("recycle size="<<data->m_size<<", list="<<m_freeList.size ());
|
||||
NS_ASSERT (data->m_count == 0);
|
||||
if (m_freeList.size () > 1000 ||
|
||||
|
||||
@@ -190,7 +190,9 @@ private:
|
||||
public:
|
||||
~DataFreeList ();
|
||||
};
|
||||
|
||||
|
||||
friend DataFreeList::~DataFreeList ();
|
||||
|
||||
PacketMetadata ();
|
||||
void DoAddHeader (uint32_t uid, uint32_t size);
|
||||
void DoRemoveHeader (uint32_t uid, uint32_t size);
|
||||
|
||||
Reference in New Issue
Block a user