История изменений
Исправление
kvpfs,
(текущая версия)
:
Ещё там какие-то траблы с condition_variable, такой коде:
fn()
{
using namespace std::literals::chrono_literals;
auto sh_ptr = std::make_shared<Get_data_message<column_number>>();
if (! m_shared.suspend_request.test(std::memory_order_relaxed)) {
std::unique_lock lck{m_shared.mtx};
m_shared.mes_queue.push(sh_ptr);
//while (! m_shared.cv.wait_for(lck, 1s, [&sh_ptr](){
// return sh_ptr->processed == true;}) &&
// ! m_shared.suspend_request.test(std::memory_order_relaxed));
}
}
Если закомментировано, то ок, если же раскомментировать, то начинаются жалобы на обоих компиляторах. Но cv проблемах по сети инфу видел, не новость.
А можно как-то поставить в игнор одну функцию и не генерить для неё обвязку для санитайзера? Чтобы была возможность хоть что-то проверить, а так выхлоп из этого санитаро-багнутого места всё загадит.
Исходная версия
kvpfs,
:
Ещё там какие-то траблы с condition_variable, такой коде:
fn()
{
using namespace std::literals::chrono_literals;
auto sh_ptr = std::make_shared<Get_data_message<column_number>>();
if (! m_shared.suspend_request.test(std::memory_order_relaxed)) {
std::unique_lock lck{m_shared.mtx};
m_shared.mes_queue.push(sh_ptr);
//while (! m_shared.cv.wait_for(lck, 1s, [&sh_ptr](){
// return sh_ptr->processed == true;}) &&
// ! m_shared.suspend_request.test(std::memory_order_relaxed));
}
return std::move(*sh_ptr);
}
Если закомментировано, то ок, если же раскомментировать, то начинаются жалобы на обоих компиляторах. Но cv проблемах по сети инфу видел, не новость.
А можно как-то поставить в игнор одну функцию и не генерить для неё обвязку для санитайзера? Чтобы была возможность хоть что-то проверить, а так выхлоп из этого санитаро-багнутого места всё загадит.