X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcan_reader.cpp;h=7ae981b80edb5f4a136a176ebe1b9c4a4c02eb4a;hb=9a8dcb99c3efb5b00b0a014e4699655d479d9925;hp=e2f62774e2b6c14d547d3a5c343796c753215570;hpb=b33043dafb15c76a02e4532d3a161bef4e191625;p=apps%2Flow-level-can-service.git diff --git a/src/can_reader.cpp b/src/can_reader.cpp index e2f6277..7ae981b 100644 --- a/src/can_reader.cpp +++ b/src/can_reader.cpp @@ -27,17 +27,12 @@ void can_reader(can_bus_dev_t &can_bus_dev, can_bus_t& can_bus) while(can_bus_dev.is_running()) { - /* Declare and take lock ownership of can_frame_mutex. - * then waiting notification for a new can frame arrival - */ - std::unique_lock 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 can_message_lock(can_message_mutex); + { + std::lock_guard 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