in src/main_unix.cpp [36:75]
int main(int argc, char* argv[]) {
commandLineOptions.parse(argc, argv);
setupForkHandler();
#ifdef CRASHPAD_ENABLED
if (!setupCrashpadHandler()) {
std::cerr << "cannot initialize crashpad" << std::endl;
}
#endif
R_running_as_main_program = 1;
std::vector<const char*> rArgv = {"rwrapper", "--quiet", "--interactive", "--no-save", "--no-restore"};
if (commandLineOptions.disableRprofile) {
rArgv.push_back("--no-init-file");
}
Rf_initialize_R(rArgv.size(), (char**)rArgv.data());
R_Outputfile = nullptr;
R_Consolefile = nullptr;
ptr_R_ReadConsole = myReadConsole;
ptr_R_WriteConsole = nullptr;
ptr_R_WriteConsoleEx = myWriteConsoleEx;
ptr_R_Suicide = mySuicide;
initLang();
try {
initEventLoop();
initRPIService();
} catch (std::exception const &e) {
std::cerr << "Error during RWrapper startup: " << e.what() << "\n";
return 1;
}
{
WithOutputHandler withOutputHandler(rpiService->replOutputHandler);
setup_Rmainloop();
}
run_Rmainloop();
return 0;
}