paleolimbot commented on PR #37565:
URL: https://github.com/apache/arrow/pull/37565#issuecomment-1724385661
> PS: And it got me thinking, are there any other
`cpp11:package("foo")["bar"]` calls that need to get wrapped in SafeCallIntoR?
I see a few that aren't wrapped but I didn't know quite how to evaluate whether
they needed it or not.
It's definitely confusing! It's not about the `cpp11:package("foo")["bar"]`,
it's about the "calling the R API from another thread". You can't call *any*
cpp11 code from another thread, but most of our cpp11 usage in the package is
setting up an Arrow C++ call or wrapping the results (and these both happen on
the main thread). Reading from R connections, executing user-defined functions,
and running the garbage collector are special because Arrow is calling them
very specifically from some other thread.
--
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]