-
Notifications
You must be signed in to change notification settings - Fork 938
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
ControllerManager: wait for done-callback #1783
Conversation
I don't agree. |
Where do you see the potential issue? |
The function clearly gets passed a timeout parameter. |
In general, you are right and I would agree, but here the function we are waiting for is a no-brainer, setting a few variables only. I don't think this will change in the very next future. And as far as I have seen, users cannot pass an arbitrary function there. In this case we wouldn't like to busy-wait anyway. |
I'm fine to limit the time to, say 0.1s, given that the corresponding code snippet fits into the `#ifdef` block.
Sounds good to me.
|
@v4hn: Done |
I will cherry-pick this to melodic as well. Travis is currently validating it. |
For your information. The The pull request from ros/actionlib #156 fixes the problem. |
This is an alternative for #1741. Thanks to the very detailed analysis of @jschleicher, the race condition reported in #1493 was tracked down to an issue in actionlib: ros/actionlib#155.
"As the done callback is really short" (#1741 (comment)), the busy-waiting solution offered in #1741 is temporarily acceptable. Due to the same fact, I suggest to drop the remaining boilerplate (considering the timeout) of #1741 as well and keep the quick fix as simple as possible.