Skip to content

Commit 676b2f0

Browse files
committed
src: initialize fields accessed by AsyncHooks before AsyncHooks
PR-URL: #48566
1 parent 32eb492 commit 676b2f0

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/env.h

+4-3
Original file line numberDiff line numberDiff line change
@@ -1015,6 +1015,10 @@ class Environment : public MemoryRetainer {
10151015
uv_async_t task_queues_async_;
10161016
int64_t task_queues_async_refs_ = 0;
10171017

1018+
// These are read by async_hooks_ ctor and need to be listed before it.
1019+
std::atomic_bool is_stopping_{false};
1020+
std::atomic_bool can_call_into_js_{true};
1021+
10181022
AsyncHooks async_hooks_;
10191023
ImmediateInfo immediate_info_;
10201024
AliasedInt32Array timeout_info_;
@@ -1092,7 +1096,6 @@ class Environment : public MemoryRetainer {
10921096

10931097
bool has_serialized_options_ = false;
10941098

1095-
std::atomic_bool can_call_into_js_ { true };
10961099
uint64_t flags_;
10971100
uint64_t thread_id_;
10981101
std::unordered_set<worker::Worker*> sub_worker_contexts_;
@@ -1150,8 +1153,6 @@ class Environment : public MemoryRetainer {
11501153
CleanupQueue cleanup_queue_;
11511154
bool started_cleanup_ = false;
11521155

1153-
std::atomic_bool is_stopping_ { false };
1154-
11551156
std::unordered_set<int> unmanaged_fds_;
11561157

11571158
std::function<void(Environment*, ExitCode)> process_exit_handler_{

0 commit comments

Comments
 (0)