paleolimbot commented on PR #13635:
URL: https://github.com/apache/arrow/pull/13635#issuecomment-1252320421

   I forgot that I created ARROW-17173 for this, which is perhaps a better 
place to discuss it. I don't necessarily care what the implementation route is, 
but the current path of having Arrow register signal handlers causes 
unnecessary interactions with reticulate (which also registers signal handlers) 
and the current path of assuming exactly one `StopSource` per cancellable 
operation is at odds with the `StopToken` living with the `IOContext`, which 
can and should persist across multiple cancellable operations.
   
   In R's case, our stop token's poll method would just be `Poll() { return 
SafeCallIntoRVoid([] { cpp11::check_user_interrupt(); }); }`...we happen to 
have a way to do this already in R that's poll based (it sounds like Python is 
well-suited to the `RequestStop()` approach...that could work too, but if so, 
it would work better if the `StopSource` was static instead of one per 
cancellable operation).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to