调整 239 start 清除int端点时可能导致死锁的问题
This commit is contained in:
parent
b897d55b56
commit
9bc22b1f13
|
@ -2631,11 +2631,11 @@ void hg_scanner::init_settings(const char* json_setting_text)
|
|||
p_time = from_default_language(OPTION_VALUE_XMSJ_SFZ);
|
||||
else if (val > 600 && val <= 1800)
|
||||
p_time = from_default_language(OPTION_VALUE_XMSJ_BXS);
|
||||
else if (val > 600 && val <= 3600)
|
||||
else if (val > 1800 && val <= 3600)
|
||||
p_time = from_default_language(OPTION_VALUE_XMSJ_YXS);
|
||||
else if (val > 600 && val <= 7200)
|
||||
else if (val > 3600 && val <= 7200)
|
||||
p_time = from_default_language(OPTION_VALUE_XMSJ_LXS);
|
||||
else if (val > 600 && val <= 14400)
|
||||
else if (val > 7200 && val <= 14400)
|
||||
p_time = from_default_language(OPTION_VALUE_XMSJ_SXS);
|
||||
if (p_time)
|
||||
setting_jsn_.at(from_default_language(SANE_STD_OPT_NAME_TIME_TO_SLEEP)).at("default") = p_time;
|
||||
|
|
|
@ -678,23 +678,13 @@ int hg_scanner_239::discard_all_images(void)
|
|||
ret = SCANNER_ERR_OK;
|
||||
string str;
|
||||
str.resize(block);
|
||||
//{
|
||||
// std::lock_guard<std::mutex> lock(io_lock_);
|
||||
// while (ret == SCANNER_ERR_OK)
|
||||
// {
|
||||
// ret = io_->read_bulk(&str[0], &block);
|
||||
// }
|
||||
//}
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
|
||||
char buf[64];
|
||||
int size = sizeof(buf);
|
||||
ret = SCANNER_ERR_OK;
|
||||
setting3399::HGEIntInfo* info = (setting3399::HGEIntInfo*)buf;
|
||||
{
|
||||
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
if (!io_)
|
||||
{
|
||||
return 0;
|
||||
|
@ -717,12 +707,10 @@ int hg_scanner_239::discard_all_images(void)
|
|||
|
||||
size = sizeof(buf);
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
ret = io_->read_interrupt(buf, &size);
|
||||
}
|
||||
}
|
||||
{
|
||||
io_->set_timeout(oto);
|
||||
}
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||
if (!io_)
|
||||
|
|
Loading…
Reference in New Issue