version 5.5.0
add PIIODevice::threadedReadTimeout
This commit is contained in:
@@ -5,7 +5,7 @@ if (POLICY CMP0177)
|
|||||||
endif()
|
endif()
|
||||||
project(PIP)
|
project(PIP)
|
||||||
set(PIP_MAJOR 5)
|
set(PIP_MAJOR 5)
|
||||||
set(PIP_MINOR 4)
|
set(PIP_MINOR 5)
|
||||||
set(PIP_REVISION 0)
|
set(PIP_REVISION 0)
|
||||||
set(PIP_SUFFIX )
|
set(PIP_SUFFIX )
|
||||||
set(PIP_COMPANY SHS)
|
set(PIP_COMPANY SHS)
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ void PIIODevice::read_func() {
|
|||||||
ssize_t readed_ = read(buffer_tr.data(), buffer_tr.size_s());
|
ssize_t readed_ = read(buffer_tr.data(), buffer_tr.size_s());
|
||||||
if (read_thread.isStopping()) return;
|
if (read_thread.isStopping()) return;
|
||||||
if (readed_ <= 0) {
|
if (readed_ <= 0) {
|
||||||
piMSleep(10);
|
piMSleep(threaded_read_timeout_ms);
|
||||||
// cout << readed_ << ", " << errno << ", " << errorString() << endl;
|
// cout << readed_ << ", " << errno << ", " << errorString() << endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -271,6 +271,10 @@ public:
|
|||||||
bool waitThreadedReadFinished(PISystemTime timeout = {});
|
bool waitThreadedReadFinished(PISystemTime timeout = {});
|
||||||
|
|
||||||
|
|
||||||
|
uint threadedReadTimeout() const { return threaded_read_timeout_ms; }
|
||||||
|
void setThreadedReadTimeout(uint ms) { threaded_read_timeout_ms = ms; }
|
||||||
|
|
||||||
|
|
||||||
//! \~english Returns if threaded write is started
|
//! \~english Returns if threaded write is started
|
||||||
//! \~russian Возвращает запущен ли поток записи
|
//! \~russian Возвращает запущен ли поток записи
|
||||||
bool isThreadedWrite() const;
|
bool isThreadedWrite() const;
|
||||||
@@ -591,7 +595,7 @@ private:
|
|||||||
PIQueue<PIPair<PIByteArray, ullong>> write_queue;
|
PIQueue<PIPair<PIByteArray, ullong>> write_queue;
|
||||||
PISystemTime reopen_timeout;
|
PISystemTime reopen_timeout;
|
||||||
ullong tri = 0;
|
ullong tri = 0;
|
||||||
uint threaded_read_buffer_size;
|
uint threaded_read_buffer_size, threaded_read_timeout_ms = 10;
|
||||||
bool reopen_enabled = true, destroying = false;
|
bool reopen_enabled = true, destroying = false;
|
||||||
|
|
||||||
static PIMutex nfp_mutex;
|
static PIMutex nfp_mutex;
|
||||||
|
|||||||
Reference in New Issue
Block a user