summaryrefslogtreecommitdiff
path: root/src/node_main_instance.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2020-10-03 23:29:41 +0200
committerAnna Henningsen <anna@addaleax.net>2020-10-11 02:20:53 +0200
commit278d38f4cf3d2821984660b4de73f8d414db17c7 (patch)
tree60aef3854353c414d8371b6ac613debcba49585f /src/node_main_instance.cc
parent275153ddc4fe0e49d5f73807edaa6eca0c3041cb (diff)
downloadnode-new-278d38f4cf3d2821984660b4de73f8d414db17c7.tar.gz
src: add maybe versions of EmitExit and EmitBeforeExit
This addresses a TODO comment, and removes invalid `.ToLocalChecked()` calls from our code base. PR-URL: https://github.com/nodejs/node/pull/35486 Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_main_instance.cc')
-rw-r--r--src/node_main_instance.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/node_main_instance.cc b/src/node_main_instance.cc
index 3767e75c56..597ce4c96e 100644
--- a/src/node_main_instance.cc
+++ b/src/node_main_instance.cc
@@ -156,7 +156,8 @@ int NodeMainInstance::Run(const EnvSerializeInfo* env_info) {
if (more && !env->is_stopping()) continue;
if (!uv_loop_alive(env->event_loop())) {
- EmitBeforeExit(env.get());
+ if (EmitProcessBeforeExit(env.get()).IsNothing())
+ break;
}
// Emit `beforeExit` if the loop became alive either after emitting
@@ -169,7 +170,7 @@ int NodeMainInstance::Run(const EnvSerializeInfo* env_info) {
env->set_trace_sync_io(false);
if (!env->is_stopping()) env->VerifyNoStrongBaseObjects();
- exit_code = EmitExit(env.get());
+ exit_code = EmitProcessExit(env.get()).FromMaybe(1);
}
ResetStdio();