eitsupi commented on PR #975:
URL: https://github.com/apache/arrow-nanoarrow/pull/975#issuecomment-6244143750

   Feedback requested on the evaluation boundary: the implementation uses 
`R_ToplevelExec()` around `R_tryCatch()` for errors and interrupts. 
`R_tryCatch()` alone does not contain non-local exits such as 
`invokeRestart("abort")`; allowing those jumps across an Arrow C Stream 
callback can bypass a C/C++ consumer's cleanup. The outer boundary converts 
these exits to EIO.
   
   This isolation also means the caller's calling handlers do not apply inside 
the callback, and warnings are handled in the isolated top-level context unless 
the callback handles them itself. These semantics are documented. Is this 
boundary and its handler behavior appropriate for the R API, or would you 
prefer another approach using public R APIs?


-- 
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