void runGlobalInitializersOrDie(int argc, const char* const* argv, const char* const* envp) { Status status = runGlobalInitializers(argc, argv, envp); if (!status.isOK()) { std::cerr << "Failed global initialization: " << status << std::endl; quickExit(1); } }
void runGlobalInitializersOrDie(const InitializerContext::ArgumentVector& args, const InitializerContext::EnvironmentMap& env) { Status status = runGlobalInitializers(args, env); if (Status::OK() != status) { std::cerr << "Failed global initialization: " << status << std::endl; ::_exit(1); } }
Status runGlobalInitializers(int argc, const char* const* argv, const char* const* envp) { InitializerContext::ArgumentVector args(argc); std::copy(argv, argv + argc, args.begin()); InitializerContext::EnvironmentMap env; if (envp) { for(; *envp; ++envp) { const char* firstEqualSign = strchr(*envp, '='); if (!firstEqualSign) { return Status(ErrorCodes::BadValue, "malformed environment block"); } env[std::string(*envp, firstEqualSign)] = std::string(firstEqualSign + 1); } } return runGlobalInitializers(args, env); }