diff --git a/testnet/TestEthernetTap.cpp b/testnet/TestEthernetTap.cpp index f3273d00f..35c7511b4 100644 --- a/testnet/TestEthernetTap.cpp +++ b/testnet/TestEthernetTap.cpp @@ -78,9 +78,10 @@ TestEthernetTap::TestEthernetTap( TestEthernetTap::~TestEthernetTap() { + static const TestFrame zf; { Mutex::Lock _l(_pq_m); - _pq.push(TestFrame()); // 0 length frame = exit + _pq.push(zf); // 0 length frame = exit } _pq_c.signal(); Thread::join(_thread); diff --git a/testnet/TestEthernetTap.hpp b/testnet/TestEthernetTap.hpp index 8b7a5e879..66e219227 100644 --- a/testnet/TestEthernetTap.hpp +++ b/testnet/TestEthernetTap.hpp @@ -63,7 +63,7 @@ class TestEthernetTap : public EthernetTap private: struct TestFrame { - TestFrame() : etherType(0),len(0) {} + TestFrame() : from(),to(),etherType(0),len(0) {} TestFrame(const MAC &f,const MAC &t,const void *d,unsigned int et,unsigned int l) : from(f), to(t),