Downgraded non-user thread errors to warnings

This commit is contained in:
EricLiu2000
2019-07-24 13:22:17 -04:00
parent 6f8d307850
commit 66126b2b61
7 changed files with 27 additions and 0 deletions
+4
View File
@@ -178,15 +178,18 @@ bool FTDI::FTDIContext::closeDevice() {
void FTDI::readTask() {
constexpr size_t READ_BUFFER_SIZE = 8;
uint8_t readbuf[READ_BUFFER_SIZE];
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
auto readBytes = ftdi.read(readbuf, READ_BUFFER_SIZE);
if(readBytes > 0)
readQueue.enqueue_bulk(readbuf, readBytes);
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void FTDI::writeTask() {
WriteOperation writeOp;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
if(!writeQueue.wait_dequeue_timed(writeOp, std::chrono::milliseconds(100)))
continue;
@@ -194,4 +197,5 @@ void FTDI::writeTask() {
ftdi.write(writeOp.bytes.data(), (int)writeOp.bytes.size());
onWrite();
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
+4
View File
@@ -233,6 +233,7 @@ bool PCAP::close() {
void PCAP::readTask() {
struct pcap_pkthdr* header;
const uint8_t* data;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
auto readBytes = pcap_next_ex(interface.fp, &header, &data);
if(readBytes < 0) {
@@ -256,12 +257,14 @@ void PCAP::readTask() {
readQueue.enqueue_bulk(packet.payload.data(), packet.payload.size());
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void PCAP::writeTask() {
WriteOperation writeOp;
uint16_t sequence = 0;
EthernetPacket sendPacket;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
// Set MAC address of packet
memcpy(sendPacket.srcMAC, interface.macAddress, sizeof(sendPacket.srcMAC));
@@ -278,6 +281,7 @@ void PCAP::writeTask() {
pcap_sendpacket(interface.fp, bs.data(), (int)bs.size());
// TODO Handle packet send errors
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
PCAP::EthernetPacket::EthernetPacket(const std::vector<uint8_t>& bytestream) {
+4
View File
@@ -287,15 +287,18 @@ bool STM32::close() {
void STM32::readTask() {
constexpr size_t READ_BUFFER_SIZE = 8;
uint8_t readbuf[READ_BUFFER_SIZE];
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
auto bytesRead = ::read(fd, readbuf, READ_BUFFER_SIZE);
if(bytesRead > 0)
readQueue.enqueue_bulk(readbuf, bytesRead);
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}
void STM32::writeTask() {
WriteOperation writeOp;
EventManager::GetInstance().downgradeErrorsOnCurrentThread();
while(!closing) {
if(!writeQueue.wait_dequeue_timed(writeOp, std::chrono::milliseconds(100)))
continue;
@@ -306,4 +309,5 @@ void STM32::writeTask() {
report(APIEvent::Type::FailedToWrite, APIEvent::Severity::Error);
onWrite();
}
EventManager::GetInstance().cancelErrorDowngradingOnCurrentThread();
}