@@ -289,29 +289,10 @@ Environment::~Environment() {
289
289
}
290
290
}
291
291
292
- void Environment::Start (const std::vector<std::string>& args,
293
- const std::vector<std::string>& exec_args,
294
- bool start_profiler_idle_notifier) {
292
+ void Environment::Start (bool start_profiler_idle_notifier) {
295
293
HandleScope handle_scope (isolate ());
296
294
Context::Scope context_scope (context ());
297
295
298
- if (*TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED (
299
- TRACING_CATEGORY_NODE1 (environment)) != 0 ) {
300
- auto traced_value = tracing::TracedValue::Create ();
301
- traced_value->BeginArray (" args" );
302
- for (const std::string& arg : args)
303
- traced_value->AppendString (arg);
304
- traced_value->EndArray ();
305
- traced_value->BeginArray (" exec_args" );
306
- for (const std::string& arg : exec_args)
307
- traced_value->AppendString (arg);
308
- traced_value->EndArray ();
309
- TRACE_EVENT_NESTABLE_ASYNC_BEGIN1 (
310
- TRACING_CATEGORY_NODE1 (environment),
311
- " Environment" , this ,
312
- " args" , std::move (traced_value));
313
- }
314
-
315
296
CHECK_EQ (0 , uv_timer_init (event_loop (), timer_handle ()));
316
297
uv_unref (reinterpret_cast <uv_handle_t *>(timer_handle ()));
317
298
@@ -346,14 +327,37 @@ void Environment::Start(const std::vector<std::string>& args,
346
327
StartProfilerIdleNotifier ();
347
328
}
348
329
349
- Local<Object> process_object = CreateProcessObject (this , args, exec_args);
350
- set_process_object (process_object);
351
-
352
330
static uv_once_t init_once = UV_ONCE_INIT;
353
331
uv_once (&init_once, InitThreadLocalOnce);
354
332
uv_key_set (&thread_local_env, this );
355
333
}
356
334
335
+ MaybeLocal<Object> Environment::CreateProcessObject (
336
+ const std::vector<std::string>& args,
337
+ const std::vector<std::string>& exec_args) {
338
+ if (*TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED (
339
+ TRACING_CATEGORY_NODE1 (environment)) != 0 ) {
340
+ auto traced_value = tracing::TracedValue::Create ();
341
+ traced_value->BeginArray (" args" );
342
+ for (const std::string& arg : args) traced_value->AppendString (arg);
343
+ traced_value->EndArray ();
344
+ traced_value->BeginArray (" exec_args" );
345
+ for (const std::string& arg : exec_args) traced_value->AppendString (arg);
346
+ traced_value->EndArray ();
347
+ TRACE_EVENT_NESTABLE_ASYNC_BEGIN1 (TRACING_CATEGORY_NODE1 (environment),
348
+ " Environment" ,
349
+ this ,
350
+ " args" ,
351
+ std::move (traced_value));
352
+ }
353
+
354
+ Local<Object> process_object =
355
+ node::CreateProcessObject (this , args, exec_args)
356
+ .FromMaybe (Local<Object>());
357
+ set_process_object (process_object);
358
+ return process_object;
359
+ }
360
+
357
361
void Environment::RegisterHandleCleanups () {
358
362
HandleCleanupCb close_and_finish = [](Environment* env, uv_handle_t * handle,
359
363
void * arg) {
0 commit comments