diff --git a/src_main/io_devices/piserial.cpp b/src_main/io_devices/piserial.cpp index d480e57d..b3d3c851 100755 --- a/src_main/io_devices/piserial.cpp +++ b/src_main/io_devices/piserial.cpp @@ -646,7 +646,8 @@ int PISerial::readDevice(void * read_to, int max_size) { //piCoutObj << "read ..." << PRIVATE->hCom; ReadFile(PRIVATE->hCom, read_to, max_size, &PRIVATE->readed, 0); DWORD err = GetLastError(); - if (err == ERROR_BAD_COMMAND) { + //piCout << err; + if (err == ERROR_BAD_COMMAND || err == ERROR_ACCESS_DENIED) { PIThread::stop(false); close(); return 0; diff --git a/src_main/io_utils/piconnection.cpp b/src_main/io_utils/piconnection.cpp index 4fbbc383..149487a5 100644 --- a/src_main/io_utils/piconnection.cpp +++ b/src_main/io_utils/piconnection.cpp @@ -1127,6 +1127,7 @@ void __DevicePool_threadReadDP(void * ddp) { // dd->dev->threadedRead(ba.data(), ba.size()); if (ba.isEmpty()) {piMSleep(10); return;} dev->threadedRead(ba.data(), ba.size_s()); + dev->threadedReadEvent(ba.data(), ba.size_s()); //piCout << "Readed from" << dd->dev->path() << Hex << ba; __device_pool__->deviceReaded(dd, ba); }