From e6026342bcee5435195d9174514f6e925258ef5b Mon Sep 17 00:00:00 2001 From: 13038267101 Date: Thu, 30 Nov 2023 10:53:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=A6=E7=BA=B8=E6=89=AB=E6=8F=8F=20?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=83=85=E5=86=B5=E6=9C=AA=E9=80=80=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/hg_scanner_239.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hgdriver/hgdev/hg_scanner_239.cpp b/hgdriver/hgdev/hg_scanner_239.cpp index 0e2cdcc..a935d35 100644 --- a/hgdriver/hgdev/hg_scanner_239.cpp +++ b/hgdriver/hgdev/hg_scanner_239.cpp @@ -1348,13 +1348,12 @@ void hg_scanner_239::thread_get_dves_image(void) std::lock_guard lock(io_lock_); memset(buf, 0, size); + io_->set_timeout(500); //2023 11 30之前一直使用1000ms ,但是为了能够快速响应下次的状态信息返回这里设置为500ms ret = io_->read_interrupt(buf, &size); - io_->set_timeout(1000); } if (ret == SCANNER_ERR_TIMEOUT) { - std::this_thread::sleep_for(std::chrono::milliseconds(400)); if (sw.elapsed_s() > 120 && !is_auto_scan()) { status_ = ret; @@ -1443,7 +1442,6 @@ void hg_scanner_239::thread_get_dves_image(void) if (!svdevs_err_.empty()) { status_ = svdevs_err_.front(); - svdevs_err_.clear(); } LOG_INFO(LOG_LEVEL_DEBUG_INFO, "received 'STOPSCAN' message in usb thread, check remaining image and finish scanning ...\n"); @@ -1508,7 +1506,11 @@ void hg_scanner_239::thread_get_dves_image(void) notify_ui_working_status(str.c_str(), SANE_EVENT_ERROR, status_); } else + { + svdevs_err_.clear(); break; + } + } } else if (info->From == setting3399::V4L2)