LINUX.ORG.RU

Избранные сообщения seiken

Возврат prvalue из функции со взятым мьютексом

Форум — Development

Две функции одинаковые по сути

Symbol_info Data_collector::symbol_info() const
{
	Symbol_info ret;
	std::shared_lock<std::shared_mutex> lck(*this->m_mtx);
	ret = this->m_symbol_info;
	return ret;
}
Symbol_info Data_collector::symbol_info() const
{
	std::shared_lock<std::shared_mutex> lck(*this->m_mtx);
	return this->m_symbol_info;
}

Не могут ли возникнуть во втором варианте проблемы, связанные с тем, что m_symbol_info будет прочитан после освобождения мьютекса?

 

pavlick
()