[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-08 Thread GitBox
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

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-08 Thread GitBox
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.

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-08 Thread GitBox
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

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-08 Thread GitBox
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

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-08 Thread GitBox
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.

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-04 Thread GitBox
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

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-03 Thread GitBox
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

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API

2021-03-03 Thread GitBox
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

[GitHub] [arrow] pitrou commented on pull request #9528: ARROW-8732: [C++] Add basic cancellation API (v2)

2021-02-19 Thread GitBox
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.