Describe the bug
Having only timers on an executor makes rmw_wait() to spin without blocking. This causes high cpu usage and it's a problem on a RTOS with threading support.
To Reproduce
Just build int32_publisher from micro-ROS-demos.
Expected behaviour
rclc_executor_spin() should always be a blocking call without any service, client, subscription, or timer.
System information (please complete the following information):
- OS: Zephyr (but it shouldn't matter)
- ROS 2: Humble (but it shouldn't matter)
- Version: humble.
Additional context
https://micro-ros.slack.com/archives/CNC141G0N/p1684752941054099
Describe the bug
Having only timers on an executor makes
rmw_wait()to spin without blocking. This causes high cpu usage and it's a problem on a RTOS with threading support.To Reproduce
Just build
int32_publisherfrom micro-ROS-demos.Expected behaviour
rclc_executor_spin()should always be a blocking call without any service, client, subscription, or timer.System information (please complete the following information):
Additional context
https://micro-ros.slack.com/archives/CNC141G0N/p1684752941054099