while(can_bus_dev.is_running())
{
- std::unique_lock<std::mutex> can_frame_lock(can_frame_mutex);
- new_can_frame.wait(can_frame_lock);
- can_message.convert_from_canfd_frame(can_bus_dev.read());
- can_frame_mutex.unlock();
+ can_message.convert_from_canfd_frame(can_bus_dev.read());
- std::lock_guard<std::mutex> can_message_lock(can_message_mutex);
+ {
+ std::lock_guard<std::mutex> can_message_lock(can_message_mutex);
can_bus.push_new_can_message(can_message);
- can_message_mutex.unlock();
+ }
new_can_message.notify_one();
}
}
\ No newline at end of file