int main()

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