-
Notifications
You must be signed in to change notification settings - Fork 145
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
[Foxy] Handle signals within the asyncio loop. (#476) #506
Conversation
Signed-off-by: Michel Hidalgo <[email protected]>
@hidmic Do you recommend proceeding with those for Foxy? Is it worth it for this issue? |
@mjeronimo all those PRs patch #476 in one way or another. #479 deals with an issue in This is why I did not proactively backport these changes. But ros2/launch_ros#223 suggests it may be worth the risk. #495 may be running into similar issues. |
@jacobperron What do you think about backporting this set of changes to Foxy? Would like to get your input before proceeding. |
I'm okay with backporting all of the changes pointed out, as long as @hidmic doesn't have any major reservations about them. On the surface of it, it looks like it's worth the effort to improve things in Foxy, but I don't know enough about the signal handling changes to say if we're going to break users code. Of all of the changes, the only thing I would change for Foxy would be to keep this function (unused) to maintain API compatibility: |
No particular reservations. It's sensitive code, that's all (4 PRs followed #476).
That function didn't exist before #476, so it doesn't exist in Foxy. On the other hand, this patch |
I can probably offer to help with testing these changes. It can't be too hard to set it up properly. |
The fix would be important for me / my team. Can I assist you in some way? Keeping the old API and having it do nothing seems like the only sensible way (the only one with moderate coding effort). One should perhaps also print a warning pointing to this PR or otherwise explaining that the functionality has moved and the function won't do anything any more. That way, there is actually merit in keeping it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I overlooked the changes in the PR originally (and only looked at the follow-up fixes).
I'm very hesitant about backporting this to Foxy since it breaks API. I think we should investigate either:
- Making an API-compatible fix here (or in launch_ros).
- Keeping the old API, and keep it functional.
I don't like the idea of making the old API a noop (even if it produces a warning). This can cause a subtle break for the user versus a hard break (if the API does not exist). If we are going to produce a warning, we may as well remove the old API since it forces the user to update instead of potentially having this break subtly.
launch/launch/utilities/__init__.py
Outdated
'install_signal_handlers', | ||
'on_sigint', | ||
'on_sigquit', | ||
'on_sigterm', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing these APIs will break anyone using them directly.
Hmm, perhaps we can use the fact that |
I just want to ping this issue and find out what the roadmap might be. Is there someone willing to tackle this? I of course unterstand, that this is a rather nasty change and personally also do not want to dig into it. So if the decision is taken that there simply will not be a fix and foxy will be left with the bug |
I just put together a POC in #511. It needs testing, and Foxy ROS Boss approval. |
Unix asyncio loops override existing signal wakeup file descriptors with no regards for existing ones -- set by user code or by another loop Signed-off-by: Michel Hidalgo <[email protected]>
… a socket.socket() works (#494) Signed-off-by: Ivan Santiago Paunovic <[email protected]>
Signed-off-by: Ivan Santiago Paunovic <[email protected]>
Signed-off-by: Ivan Santiago Paunovic <[email protected]>
Signed-off-by: Michel Hidalgo <[email protected]>
Signed-off-by: Michel Hidalgo <[email protected]>
Signed-off-by: Michel Hidalgo <[email protected]>
Signed-off-by: Michel Hidalgo <[email protected]>
Signed-off-by: Michel Hidalgo <[email protected]>
This reverts commit d8e320a. Signed-off-by: Michel Hidalgo <[email protected]>
As with #511, this PR should probably be added to the Foxy Patch Release 5 |
Test failures seem unrelated. Are we good to go @jacobperron @mjeronimo ? |
Looks good to me. Thanks for taking on this complicated issue. |
@jacobperron I'd like your blessing before I merge this. |
Where should I look for a possible release date of the Foxy Patch Release 5 that this will be part of? |
Alright, moving forward ! |
Signed-off-by: Michel Hidalgo [email protected]
Backporting #476 to Foxy.
Fixes: ros2/launch_ros#223