mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
src: use global SealHandleScope
Helps to find Handle leaks in Debug mode.
Ref: a5244d3 "deps: backport 1f8555 from v8's upstream"
PR-URL: https://github.com/nodejs/node/pull/3945
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: James Snell <jasnell@gmail.com>
This commit is contained in:
1 parent
46c8e2165f
commit
a79baf03cd
1 file changed
+17
-12
+17
-12
@@ -116,6 +116,7 @@ using v8::Number;
|
||||
using v8::Object;
|
||||
using v8::ObjectTemplate;
|
||||
using v8::PropertyCallbackInfo;
|
||||
using v8::SealHandleScope;
|
||||
using v8::String;
|
||||
using v8::TryCatch;
|
||||
using v8::Uint32;
|
||||
@@ -3769,19 +3770,23 @@ int Start(int argc, char** argv) {
|
||||
if (use_debug_agent)
|
||||
EnableDebug(env);
|
||||
|
||||
bool more;
|
||||
do {
|
||||
more = uv_run(env->event_loop(), UV_RUN_ONCE);
|
||||
if (more == false) {
|
||||
EmitBeforeExit(env);
|
||||
{
|
||||
SealHandleScope seal(node_isolate);
|
||||
bool more;
|
||||
do {
|
||||
more = uv_run(env->event_loop(), UV_RUN_ONCE);
|
||||
if (more == false) {
|
||||
EmitBeforeExit(env);
|
||||
|
||||
// Emit `beforeExit` if the loop became alive either after emitting
|
||||
// event, or after running some callbacks.
|
||||
more = uv_loop_alive(env->event_loop());
|
||||
if (uv_run(env->event_loop(), UV_RUN_NOWAIT) != 0)
|
||||
more = true;
|
||||
}
|
||||
} while (more == true);
|
||||
}
|
||||
|
||||
// Emit `beforeExit` if the loop became alive either after emitting
|
||||
// event, or after running some callbacks.
|
||||
more = uv_loop_alive(env->event_loop());
|
||||
if (uv_run(env->event_loop(), UV_RUN_NOWAIT) != 0)
|
||||
more = true;
|
||||
}
|
||||
} while (more == true);
|
||||
code = EmitExit(env);
|
||||
RunAtExit(env);
|
||||
|
||||
|
||||
Reference in new issue
Block a user