Skip to content

Commit

Permalink
src: add detailed embedder process initialization AP
Browse files Browse the repository at this point in the history
  • Loading branch information
jkleinsc authored and codebytere committed Nov 21, 2022
1 parent 616bd9b commit 60bc147
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions shell/app/node_main.cc
Expand Up @@ -141,12 +141,19 @@ int NodeMain(int argc, char* argv[]) {
if (flags_exit_code != 0)
exit(flags_exit_code);

node::InitializationSettingsFlags flags = node::kRunPlatformInit;
node::InitializationResult result =
node::InitializeOncePerProcess(argc, argv, flags);

if (result.early_return)
exit(result.exit_code);
std::vector<std::string> args(argv, argv + argc);
std::unique_ptr<node::InitializationResult> result =
node::InitializeOncePerProcess(
args,
{node::ProcessInitializationFlags::kNoInitializeV8,
node::ProcessInitializationFlags::kNoInitializeNodeV8Platform});

for (const std::string& error : result->errors())
fprintf(stderr, "%s: %s\n", args[0].c_str(), error.c_str());

if (result->early_return() != 0) {
return result->exit_code();
}

gin::V8Initializer::LoadV8Snapshot(
gin::V8SnapshotFileType::kWithAdditionalContext);
Expand Down Expand Up @@ -176,7 +183,7 @@ int NodeMain(int argc, char* argv[]) {
uint64_t env_flags = node::EnvironmentFlags::kDefaultFlags |
node::EnvironmentFlags::kHideConsoleWindows;
env = node::CreateEnvironment(
isolate_data, gin_env.context(), result.args, result.exec_args,
isolate_data, gin_env.context(), result->args(), result->exec_args(),
static_cast<node::EnvironmentFlags::Flags>(env_flags));
CHECK_NE(nullptr, env);

Expand Down

0 comments on commit 60bc147

Please sign in to comment.