-
Notifications
You must be signed in to change notification settings - Fork 252
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
[wip] Add options to disable signal handling in Player and Recorder Python API #1685
base: rolling
Are you sure you want to change the base?
[wip] Add options to disable signal handling in Player and Recorder Python API #1685
Conversation
b47eecb
to
db057e4
Compare
605a3c6
to
4ec3d89
Compare
Moving back to the draft. I had forgotten that I wanted to try to move common signal handling functionality to a separate class to avoid code duplication. |
- Also added test coverage for signals handling in Python API Signed-off-by: Michael Orlov <[email protected]>
Signed-off-by: Michael Orlov <[email protected]>
4ec3d89
to
cf2988a
Compare
- Add DeferredSignalHandler class - Note: Windows support will be added in a follow-up PR Signed-off-by: Michael Orlov <[email protected]>
cf2988a
to
bd9cb78
Compare
Signed-off-by: Michael Orlov <[email protected]>
Signed-off-by: Michael Orlov <[email protected]>
bd9cb78
to
6d94fda
Compare
@ros-pull-request-builder retest this please |
Pulls: #1685 |
- Add missing macros to work with signal set Signed-off-by: Michael Orlov <[email protected]>
- Rationale: The signal handling on Windows hasn't been implemented yet. Signed-off-by: Michael Orlov <[email protected]>
Re-run CI after attempt to fix Windows CI failures |
This PR adds option
enable_signal_handling
to therosbag2_py.Recorder.record(..)
,rosbag2_py.Player.play(..)
androsbag2_py.Player.Burst(..)
Python exposed API.The previous versions of API were also preserved for backward compatibility.
Note: When using a new API with
enable_signal_handling = False
the caller shall handle signals on the Python level and callPlayer.cancel()
orRecorder.cancel()
after processing signals to correctly stop player or recorder.Closes [rosbag2_py.Recorder] Should add option to disable signal handling changes #1678