diff --git a/osdep/LinuxEthernetTap.cpp b/osdep/LinuxEthernetTap.cpp index ad96eb9ed..4659df556 100644 --- a/osdep/LinuxEthernetTap.cpp +++ b/osdep/LinuxEthernetTap.cpp @@ -92,8 +92,7 @@ LinuxEthernetTap::LinuxEthernetTap( _homePath(homePath), _mtu(mtu), _fd(0), - _enabled(true), - _running(true) + _enabled(true) { static std::mutex s_tapCreateLock; char procpath[128],nwids[32]; @@ -268,7 +267,7 @@ LinuxEthernetTap::LinuxEthernetTap( r = 0; } - } else if ((errno != EINTR)||(!_running.load())) { + } else { r = 0; break; } @@ -298,12 +297,9 @@ LinuxEthernetTap::LinuxEthernetTap( LinuxEthernetTap::~LinuxEthernetTap() { - _running = false; - _tapq.post(std::pair(nullptr,0)); ::shutdown(_fd, SHUT_RDWR); ::close(_fd); - pthread_kill(_tapReaderThread.native_handle(), SIGUSR1); _tapReaderThread.join(); _tapProcessorThread.join(); diff --git a/osdep/LinuxEthernetTap.hpp b/osdep/LinuxEthernetTap.hpp index 771b27980..f296ec693 100644 --- a/osdep/LinuxEthernetTap.hpp +++ b/osdep/LinuxEthernetTap.hpp @@ -69,7 +69,6 @@ private: unsigned int _mtu; int _fd; std::atomic_bool _enabled; - std::atomic_bool _running; std::thread _tapReaderThread; std::thread _tapProcessorThread; std::mutex _buffers_l;