So I'm working on a custom front end to R, in one mode of the front
end I dynamically load libR.so into a child worker thread. I'm very
careful to make sure it is loaded by a single thread and loaded only
once, but since it is a child thread it violates assumptions made by
the stack size checking i
I did some poking around with GDB and confirmed that the advice of
setting R_CStackLimit after init, which is echoed in the "threading
issues" section of the R-exts help document, isn't entirely useful
because init apparently loads the main package which trips over the
broken stack checking.
Stack
Ryan,
if you read the piece you quoted from more carefully, you'll notice it says
"Rf_initialize_R" - which is quite critical in this matter.
Cheers,
Simon
On Aug 24, 2015, at 9:18 AM, Ryan C Metzger wrote:
> I did some poking around with GDB and confirmed that the advice of
> setting R_CSta
Simon,
Ah, thank you! quiet right. For anyone searching for this in the
future, I changed my init fuction to:
-- SNIP
void init_r() {
SEXP aperm_function;
/* this is our version of Rf_initEmbeddedR where we disable stack
checking */
const char *init_argv[] = {