Provides a standardized interface for interfacing with preemptable tasks. Examples of this include moving the base to a target location, performing a laser scan and returning the resulting point cloud, detecting the handle of a door, etc.
I noticed that wait_for_result() may cause a race condition. The done_condition lock is not used when setting the simple_state, therefore done_db might not have been called when wait_for_result returns.
I noticed that
wait_for_result()
may cause a race condition. Thedone_condition
lock is not used when setting the simple_state, thereforedone_db
might not have been called whenwait_for_result
returns.see https://github.com/ros/actionlib/blob/noetic-devel/actionlib/src/actionlib/simple_action_client.py#L239-L243 and https://github.com/ros/actionlib/blob/noetic-devel/actionlib/src/actionlib/simple_action_client.py#L137-L138