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

python: make sure SIGINT properly interrupts everything #1484

Closed
Tracked by #1490
lidavidm opened this issue Jan 23, 2024 · 0 comments · Fixed by #1509
Closed
Tracked by #1490

python: make sure SIGINT properly interrupts everything #1484

lidavidm opened this issue Jan 23, 2024 · 0 comments · Fixed by #1509
Assignees

Comments

@lidavidm
Copy link
Member

lidavidm commented Jan 23, 2024

We're going to need some finagling. Either:

  • If we're on the main thread, punt long operations to a background thread that we join on. If we're interrupted in Python, then cancel the operation, join the thread, and re-raise the interrupt.
  • If we're on the main thread, set a custom signal handler and spawn a background thread. If we're interrupted, the signal handler wakes the background thread via a self-pipe. The background thread then cancels the operation. The main thread restores the signal handler when we return to Python.
@lidavidm lidavidm added this to the ADBC Libraries 0.10.0 milestone Jan 23, 2024
@lidavidm lidavidm self-assigned this Jan 23, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Jan 23, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Jan 23, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 2, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 3, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 5, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 5, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 5, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 5, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 6, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 6, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 6, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 6, 2024
lidavidm added a commit to lidavidm/arrow-adbc that referenced this issue Feb 6, 2024
lidavidm added a commit that referenced this issue Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment