Revert "Moar threadz"

This reverts commit 101a3a7d74.
This commit is contained in:
Adam Ierymenko 2020-11-16 19:06:52 -08:00
parent 101a3a7d74
commit 0795dbf5f1
2 changed files with 20 additions and 26 deletions

View file

@ -292,8 +292,7 @@ LinuxEthernetTap::LinuxEthernetTap(
}
});
for(int k=0;k<2;++k) {
_tapProcessorThread[k] = std::thread([this] {
_tapProcessorThread = std::thread([this] {
MAC to,from;
std::pair<void *,int> qi;
while (_tapq.get(qi)) {
@ -311,23 +310,18 @@ LinuxEthernetTap::LinuxEthernetTap(
}
});
}
}
LinuxEthernetTap::~LinuxEthernetTap()
{
(void)::write(_shutdownSignalPipe[1],"\0",1); // causes thread to exit
for(int k=0;k<64;++k) {
_tapq.post(std::pair<void *,int>(nullptr,0));
}
::close(_fd);
::close(_shutdownSignalPipe[0]);
::close(_shutdownSignalPipe[1]);
_tapReaderThread.join();
for(int k=0;k<2;++k) {
_tapProcessorThread[k].join();
}
_tapProcessorThread.join();
for(std::vector<void *>::iterator i(_buffers.begin());i!=_buffers.end();++i)
free(*i);

View file

@ -71,7 +71,7 @@ private:
int _shutdownSignalPipe[2];
std::atomic_bool _enabled;
std::thread _tapReaderThread;
std::thread _tapProcessorThread[2];
std::thread _tapProcessorThread;
std::mutex _buffers_l;
std::vector<void *> _buffers;
BlockingQueue< std::pair<void *,int> > _tapq;