From 1d3a63f0795b0304e74324e26e307c9e65df0dfb Mon Sep 17 00:00:00 2001
From: James M Snell <jasnell@gmail.com>
Date: Fri, 7 Sep 2018 15:37:31 -0700
Subject: [PATCH] src: move getActiveResources/Handles to node_process.cc

PR-URL: https://github.com/nodejs/node/pull/22758
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Refael Ackermann <refack@gmail.com>
---
 src/node.cc          | 55 --------------------------------------------
 src/node_internals.h |  2 ++
 src/node_process.cc  | 55 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+), 55 deletions(-)

diff --git a/src/node.cc b/src/node.cc
index 22480f6d21a1d1..a94ac07591ab0e 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -1102,61 +1102,6 @@ static MaybeLocal<Value> ExecuteString(Environment* env,
 }
 
 
-static void GetActiveRequests(const FunctionCallbackInfo<Value>& args) {
-  Environment* env = Environment::GetCurrent(args);
-
-  Local<Array> ary = Array::New(args.GetIsolate());
-  Local<Context> ctx = env->context();
-  Local<Function> fn = env->push_values_to_array_function();
-  Local<Value> argv[NODE_PUSH_VAL_TO_ARRAY_MAX];
-  size_t idx = 0;
-
-  for (auto w : *env->req_wrap_queue()) {
-    if (w->persistent().IsEmpty())
-      continue;
-    argv[idx] = w->GetOwner();
-    if (++idx >= arraysize(argv)) {
-      fn->Call(ctx, ary, idx, argv).ToLocalChecked();
-      idx = 0;
-    }
-  }
-
-  if (idx > 0) {
-    fn->Call(ctx, ary, idx, argv).ToLocalChecked();
-  }
-
-  args.GetReturnValue().Set(ary);
-}
-
-
-// Non-static, friend of HandleWrap. Could have been a HandleWrap method but
-// implemented here for consistency with GetActiveRequests().
-void GetActiveHandles(const FunctionCallbackInfo<Value>& args) {
-  Environment* env = Environment::GetCurrent(args);
-
-  Local<Array> ary = Array::New(env->isolate());
-  Local<Context> ctx = env->context();
-  Local<Function> fn = env->push_values_to_array_function();
-  Local<Value> argv[NODE_PUSH_VAL_TO_ARRAY_MAX];
-  size_t idx = 0;
-
-  for (auto w : *env->handle_wrap_queue()) {
-    if (!HandleWrap::HasRef(w))
-      continue;
-    argv[idx] = w->GetOwner();
-    if (++idx >= arraysize(argv)) {
-      fn->Call(ctx, ary, idx, argv).ToLocalChecked();
-      idx = 0;
-    }
-  }
-  if (idx > 0) {
-    fn->Call(ctx, ary, idx, argv).ToLocalChecked();
-  }
-
-  args.GetReturnValue().Set(ary);
-}
-
-
 NO_RETURN void Abort() {
   DumpBacktrace(stderr);
   fflush(stderr);
diff --git a/src/node_internals.h b/src/node_internals.h
index 68bb156c042fcf..4c5dc88a0e7b05 100644
--- a/src/node_internals.h
+++ b/src/node_internals.h
@@ -888,6 +888,8 @@ void Abort(const v8::FunctionCallbackInfo<v8::Value>& args);
 void Chdir(const v8::FunctionCallbackInfo<v8::Value>& args);
 void CPUUsage(const v8::FunctionCallbackInfo<v8::Value>& args);
 void Cwd(const v8::FunctionCallbackInfo<v8::Value>& args);
+void GetActiveHandles(const v8::FunctionCallbackInfo<v8::Value>& args);
+void GetActiveRequests(const v8::FunctionCallbackInfo<v8::Value>& args);
 void Hrtime(const v8::FunctionCallbackInfo<v8::Value>& args);
 void HrtimeBigInt(const v8::FunctionCallbackInfo<v8::Value>& args);
 void Kill(const v8::FunctionCallbackInfo<v8::Value>& args);
diff --git a/src/node_process.cc b/src/node_process.cc
index 92618e12f7bd12..1990228785280b 100644
--- a/src/node_process.cc
+++ b/src/node_process.cc
@@ -1,5 +1,7 @@
 #include "node.h"
 #include "node_internals.h"
+#include "base_object.h"
+#include "base_object-inl.h"
 #include "env-inl.h"
 #include "util-inl.h"
 #include "uv.h"
@@ -777,5 +779,58 @@ void GetParentProcessId(Local<Name> property,
   info.GetReturnValue().Set(Integer::New(info.GetIsolate(), uv_os_getppid()));
 }
 
+void GetActiveRequests(const FunctionCallbackInfo<Value>& args) {
+  Environment* env = Environment::GetCurrent(args);
+
+  Local<Array> ary = Array::New(args.GetIsolate());
+  Local<Context> ctx = env->context();
+  Local<Function> fn = env->push_values_to_array_function();
+  Local<Value> argv[NODE_PUSH_VAL_TO_ARRAY_MAX];
+  size_t idx = 0;
+
+  for (auto w : *env->req_wrap_queue()) {
+    if (w->persistent().IsEmpty())
+      continue;
+    argv[idx] = w->GetOwner();
+    if (++idx >= arraysize(argv)) {
+      fn->Call(ctx, ary, idx, argv).ToLocalChecked();
+      idx = 0;
+    }
+  }
+
+  if (idx > 0) {
+    fn->Call(ctx, ary, idx, argv).ToLocalChecked();
+  }
+
+  args.GetReturnValue().Set(ary);
+}
+
+
+// Non-static, friend of HandleWrap. Could have been a HandleWrap method but
+// implemented here for consistency with GetActiveRequests().
+void GetActiveHandles(const FunctionCallbackInfo<Value>& args) {
+  Environment* env = Environment::GetCurrent(args);
+
+  Local<Array> ary = Array::New(env->isolate());
+  Local<Context> ctx = env->context();
+  Local<Function> fn = env->push_values_to_array_function();
+  Local<Value> argv[NODE_PUSH_VAL_TO_ARRAY_MAX];
+  size_t idx = 0;
+
+  for (auto w : *env->handle_wrap_queue()) {
+    if (!HandleWrap::HasRef(w))
+      continue;
+    argv[idx] = w->GetOwner();
+    if (++idx >= arraysize(argv)) {
+      fn->Call(ctx, ary, idx, argv).ToLocalChecked();
+      idx = 0;
+    }
+  }
+  if (idx > 0) {
+    fn->Call(ctx, ary, idx, argv).ToLocalChecked();
+  }
+
+  args.GetReturnValue().Set(ary);
+}
 
 }  // namespace node