From 0b99cb1913a6eaeb731e7b3d640facd174f26b94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=BA=D0=BE=D0=B2=D0=BE=D1=80=D0=BE=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=90=D0=BD=D0=B4=D1=80?= =?UTF-8?q?=D0=B5=D0=B5=D0=B2=D0=B8=D1=87?= Date: Fri, 2 Aug 2019 17:10:30 +0300 Subject: [PATCH] process: add .initialEventLoop PR-URL: https://github.com/nodejs/node/pull/28941 --- lib/internal/bootstrap/node.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js index aa166cc931b94f..3d778ed4f22caa 100644 --- a/lib/internal/bootstrap/node.js +++ b/lib/internal/bootstrap/node.js @@ -92,6 +92,22 @@ const rawMethods = internalBinding('process_methods'); }; } +{ + let perf_hooks; + let initialEventLoop = true; + ObjectDefineProperty(process, 'initialEventLoop', { + enumerable: true, + configurable: false, + get() { + if (initialEventLoop) { + if (!perf_hooks) perf_hooks = require('perf_hooks'); + initialEventLoop = perf_hooks.performance.nodeTiming.loopStart < 0; + } + return initialEventLoop; + } + }); +} + const credentials = internalBinding('credentials'); if (credentials.implementsPosixCredentials) { process.getuid = credentials.getuid;