pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-793080179
Ah, I see: no need to take a strong reference inside the handler since the
spinlock guarantees the global reference isn't mutated. That said, the
signal-safe spinlock apparently
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-793076144
Hmm, but resetting the pointer may still deallocate the underlying object...
which is certainly not async-signal-safe.
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-793067079
How would a spinlock help the deallocation issue?
This is an automated message from the Apache Git Service.
To
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-792998856
@github-actions crossbow submit -g python
This is an automated message from the Apache Git Service.
To
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-792931920
I pushed an improvement for the deallocation in signal handler problem, but
it's still not 100% safe. I think solving it entirely would need a lock-free
doubly-linked list.
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-790509864
@westonpace @bkietz Feel free to review.
This is an automated message from the Apache Git Service.
To respond to
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-789996441
@github-actions crossbow submit -g python
This is an automated message from the Apache Git Service.
To respond to
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-789995923
@ursabot crossbow submit -g python
This is an automated message from the Apache Git Service.
To respond to the
pitrou commented on pull request #9528:
URL: https://github.com/apache/arrow/pull/9528#issuecomment-782057195
Hmm, perhaps instead of complicating the Future implementation, it would be
better to make the Executor responsible for setting the stop callback.