Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reimplement the fix a concurrency problem in the multithreaded executor #704

Closed
wants to merge 1 commit into from

Conversation

guillaumeautran
Copy link
Contributor

Reimplement the fix to correct a concurrency problem in the multithreaded executor.
This time, the AnyExecutable class has a boolean flag to reset / not reset the callback group can_be_taken_from_ variable on destruction.
The multithreaded executor initializes the executor with that flag set to false.

Issue: #702

@tfoote tfoote added the in review Waiting for review (Kanban column) label Apr 22, 2019
Reimplement the fix to correct a concurrency problem in the multithreaded executor.
This time, the AnyExecutable class has a boolean flag to reset / not reset the callback group `can_be_taken_from_` variable on destruction.
The multithreaded executor initializes the executor with that flag set to false.

Issue: ros2#702
Signed-off-by: Guillaume Autran <gautran@clearpath.ai>
@guillaumeautran
Copy link
Contributor Author

FYI: @wjwwood

@wjwwood
Copy link
Member

wjwwood commented Apr 23, 2019

Thanks @guillaumeautran for opening this follow up.

After reading through all of this, and seeing the comment in the destructor of AnyExecutable and looking at what I proposed as an actually pr (this one), I think what you did in the other pull request was sufficient.

So, unless you'd prefer to continue with this pull request, I'm ok to close it.


In a different direction, it would be great to have a test that could reproduce this case. It seems like something that could easily regress with future work on the executor.

@sloretz
Copy link
Contributor

sloretz commented Apr 25, 2019

@guillaumeautran Thanks for fixing the issue. Based on @wjwwood 's comment it sounds like the fix you made in #703 is the way to go, so I'll close this PR for now.

@sloretz sloretz closed this Apr 25, 2019
@sloretz sloretz removed the in review Waiting for review (Kanban column) label Apr 25, 2019
nnmm pushed a commit to ApexAI/rclcpp that referenced this pull request Jul 9, 2022
* Add bad param tests ini/fini rosout publisher
* Make ini/fini_publisher_for_node public

Signed-off-by: Jorge Perez <jjperez@ekumenlabs.com>
DensoADAS pushed a commit to DensoADAS/rclcpp that referenced this pull request Aug 5, 2022
* Add pause/resume to PlayerClock

Signed-off-by: Emerson Knapp <eknapp@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants