Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a concurrency problem in the multithreaded executor
Both, the `Executor::execute_any_executable` and the destructor for the `AnyExecutable` object used by the multithreaded executor, reset the `can_be_taken_from_` flag on a MutuallyExclusive group. This cause the variable to get out of sync and threads to process executables out of sequence. This fix clears the callback group variable of the `AnyExecutable` instance effectively preventing its destructor from modifying the variable at the wrong time. Issue: ros2#702
- Loading branch information