-
Notifications
You must be signed in to change notification settings - Fork 377
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
RetryableFileReader
: account for user interrupts
#7801
Conversation
@rerun-bot full-check |
Started a full build: https://github.com/rerun-io/rerun/actions/runs/11383958109 |
@rerun-bot full-check |
Started a full build: https://github.com/rerun-io/rerun/actions/runs/11384126006 |
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.
LGTM, thanks for taking care of this
7da7681
to
d7d130f
Compare
@rerun-bot full-check |
Started a full build: https://github.com/rerun-io/rerun/actions/runs/11384346891 |
@rerun-bot full-check |
Started a full build: https://github.com/rerun-io/rerun/actions/runs/11385602234 |
now is not the right time, windows |
/// Returns whether a `SIGINT` was ever caught. | ||
/// | ||
/// Need to call [`track_sigint`] at least once first. | ||
pub fn was_sigint_ever_caught() -> bool { |
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.
This could call track_sigint
, making it impossible to forget to call it. And then track_signint
could just be made private.
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.
It would be too late by then though, you'd always miss the first SIGINT at the very least.
It's still worth doing though, at least if someone forget, SIGINT-spam will still work.
999c1c2
to
87275ef
Compare
This makes sure
RetryableFileReader
polls for user interrupts where necessary, so a non-terminated RRD file never hangs the user's process for the rest of times.I tried various simpler approaches, but they all failed because... well, you know, UNIX signals.
In the end I'm actually not too unhappy with this, really.
rr.log_file_from_path
just hangs indefinitely #7791Checklist
main
build: rerun.io/viewernightly
build: rerun.io/viewerCHANGELOG.md
and the migration guideTo run all checks from
main
, comment on the PR with@rerun-bot full-check
.