ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
(1) sounds like a pretty typical use for locks, or just a single callback queue.
(2) ROS doesn't natively support callback preemption. If you want it, you'll have to build it yourself. This probably means having a few locks or mutexes and inserting preemption points into your callback, where it can abort early if there's another callback waiting.
(3) Do it in C++