From f65b48d447e414e3cdc1e6787cf92a795a11956b Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 28 Oct 2014 17:29:45 -0700 Subject: Thread sync bug... --- testnet/TestEthernetTapFactory.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'testnet') diff --git a/testnet/TestEthernetTapFactory.cpp b/testnet/TestEthernetTapFactory.cpp index 1e72bc4e..105341ec 100644 --- a/testnet/TestEthernetTapFactory.cpp +++ b/testnet/TestEthernetTapFactory.cpp @@ -69,18 +69,12 @@ void TestEthernetTapFactory::close(EthernetTap *tap,bool destroyPersistentDevice if (!tap) return; SharedPtr tapp((TestEthernetTap *)tap); - { - Mutex::Lock _l(_taps_m); - _taps.erase(tapp); - } - { - Mutex::Lock _l(_tapsByMac_m); - _tapsByMac.erase(tapp->mac()); - } - { - Mutex::Lock _l(_tapsByNwid_m); - _tapsByNwid.erase(tapp->nwid()); - } + Mutex::Lock _l1(_taps_m); + Mutex::Lock _l2(_tapsByMac_m); + Mutex::Lock _l3(_tapsByNwid_m); + _taps.erase(tapp); + _tapsByMac.erase(tapp->mac()); + _tapsByNwid.erase(tapp->nwid()); } } // namespace ZeroTier -- cgit v1.2.3