mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-22 06:17:48 +00:00
parent
11545bdb5d
commit
3712f9b318
@ -92,8 +92,7 @@ LinuxEthernetTap::LinuxEthernetTap(
|
|||||||
_homePath(homePath),
|
_homePath(homePath),
|
||||||
_mtu(mtu),
|
_mtu(mtu),
|
||||||
_fd(0),
|
_fd(0),
|
||||||
_enabled(true),
|
_enabled(true)
|
||||||
_running(true)
|
|
||||||
{
|
{
|
||||||
static std::mutex s_tapCreateLock;
|
static std::mutex s_tapCreateLock;
|
||||||
char procpath[128],nwids[32];
|
char procpath[128],nwids[32];
|
||||||
@ -268,7 +267,7 @@ LinuxEthernetTap::LinuxEthernetTap(
|
|||||||
|
|
||||||
r = 0;
|
r = 0;
|
||||||
}
|
}
|
||||||
} else if ((errno != EINTR)||(!_running.load())) {
|
} else {
|
||||||
r = 0;
|
r = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -298,12 +297,9 @@ LinuxEthernetTap::LinuxEthernetTap(
|
|||||||
|
|
||||||
LinuxEthernetTap::~LinuxEthernetTap()
|
LinuxEthernetTap::~LinuxEthernetTap()
|
||||||
{
|
{
|
||||||
_running = false;
|
|
||||||
|
|
||||||
_tapq.post(std::pair<void *,int>(nullptr,0));
|
_tapq.post(std::pair<void *,int>(nullptr,0));
|
||||||
::shutdown(_fd, SHUT_RDWR);
|
::shutdown(_fd, SHUT_RDWR);
|
||||||
::close(_fd);
|
::close(_fd);
|
||||||
pthread_kill(_tapReaderThread.native_handle(), SIGUSR1);
|
|
||||||
|
|
||||||
_tapReaderThread.join();
|
_tapReaderThread.join();
|
||||||
_tapProcessorThread.join();
|
_tapProcessorThread.join();
|
||||||
|
@ -69,7 +69,6 @@ private:
|
|||||||
unsigned int _mtu;
|
unsigned int _mtu;
|
||||||
int _fd;
|
int _fd;
|
||||||
std::atomic_bool _enabled;
|
std::atomic_bool _enabled;
|
||||||
std::atomic_bool _running;
|
|
||||||
std::thread _tapReaderThread;
|
std::thread _tapReaderThread;
|
||||||
std::thread _tapProcessorThread;
|
std::thread _tapProcessorThread;
|
||||||
std::mutex _buffers_l;
|
std::mutex _buffers_l;
|
||||||
|
Loading…
Reference in New Issue
Block a user