ready to test
This commit is contained in:
@@ -752,9 +752,9 @@ ssize_t PIEthernet::readDevice(void * read_to, ssize_t max_size) {
|
||||
#ifdef QNX
|
||||
PRIVATE->addr_.sin_len = sizeof(PRIVATE->addr_);
|
||||
#endif
|
||||
//piCout << "connect to " << path() << "...";
|
||||
piCout << "connect to " << path() << "...";
|
||||
connected_ = connectTCP();
|
||||
//piCout << "connect to " << path() << connected_;
|
||||
piCout << "connect to " << path() << connected_;
|
||||
if (!connected_)
|
||||
piCoutObj << "Can`t connect to" << addr_r << "," << ethErrorString();
|
||||
opened_ = connected_;
|
||||
|
||||
@@ -132,6 +132,7 @@ PIIODevice::PIIODevice(const PIString & path, PIIODevice::DeviceMode mode): PIOb
|
||||
|
||||
PIIODevice::~PIIODevice() {
|
||||
stop();
|
||||
waitThreadedReadFinished();
|
||||
}
|
||||
|
||||
|
||||
@@ -213,11 +214,12 @@ void PIIODevice::stopThreadedRead() {
|
||||
#ifdef MICRO_PIP
|
||||
read_thread.stop();
|
||||
#else
|
||||
read_thread.stop();
|
||||
read_thread.interrupt();
|
||||
stopThreadedReadDevice();
|
||||
if (reading_now) {
|
||||
read_thread.terminate();
|
||||
reading_now = false;
|
||||
} else {
|
||||
read_thread.stop();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -490,6 +490,10 @@ protected:
|
||||
//! \~english Function executed when thread read some data, default implementation execute external callback "ret_func_"
|
||||
//! \~russian Метод вызывается после каждого успешного потокового чтения, по умолчанию вызывает callback "ret_func_"
|
||||
virtual bool threadedRead(const uchar * readed, ssize_t size);
|
||||
|
||||
//! \~english Function executed after PIThread::stop() and PIThread::interrupt() of read thread
|
||||
//! \~russian Метод вызывается после PIThread::stop() и PIThread::interrupt() потока чтения
|
||||
virtual void stopThreadedReadDevice() {}
|
||||
|
||||
//! \~english Reimplement to construct full unambiguous string, describes this device.
|
||||
//! Default implementation returns \a path()
|
||||
|
||||
@@ -798,9 +798,7 @@ ssize_t PISerial::readDevice(void * read_to, ssize_t max_size) {
|
||||
if (sending) return -1;
|
||||
// piCoutObj << "com event ...";
|
||||
//piCoutObj << "read ..." << PRIVATE->hCom;
|
||||
reading_now = true;
|
||||
ReadFile(PRIVATE->hCom, read_to, max_size, &PRIVATE->readed, 0);
|
||||
reading_now = false;
|
||||
DWORD err = GetLastError();
|
||||
//piCout << err;
|
||||
if (err == ERROR_BAD_COMMAND || err == ERROR_ACCESS_DENIED) {
|
||||
|
||||
Reference in New Issue
Block a user