PIIODevice threaded read refactoring

This commit is contained in:
2022-10-23 16:02:09 +03:00
parent e5777dde6c
commit 9438ab4e53
9 changed files with 157 additions and 121 deletions

View File

@@ -219,7 +219,7 @@ void PISerial::construct() {
PRIVATE->hCom = 0;
#endif
fd = -1;
setPriority(piHigh);
//setPriority(piHigh);
vtime = 10;
sending = false;
setParameters(0);
@@ -680,9 +680,8 @@ bool PISerial::openDevice() {
bool PISerial::closeDevice() {
if (isRunning() && !isStopping()) {
stop();
PIThread::terminate();
if (isThreadedRead()) {
stopThreadedRead();
}
if (fd != -1) {
#ifdef WINDOWS
@@ -803,7 +802,7 @@ ssize_t PISerial::readDevice(void * read_to, ssize_t max_size) {
DWORD err = GetLastError();
//piCout << err;
if (err == ERROR_BAD_COMMAND || err == ERROR_ACCESS_DENIED) {
PIThread::stop(false);
softStopThreadedRead();
close();
return 0;
}