diff --git a/src/node.cc b/src/node.cc index c5b6c2b8444499..36cd84c6fddc03 100644 --- a/src/node.cc +++ b/src/node.cc @@ -432,6 +432,9 @@ void ResetSignalHandlers() { } static std::atomic init_process_flags = 0; +static_assert(std::is_same_v< + std::underlying_type_t, + uint32_t>); static void PlatformInit(ProcessInitializationFlags::Flags flags) { // init_process_flags is accessed in ResetStdio(), @@ -1057,7 +1060,7 @@ std::unique_ptr InitializeOncePerProcess( } void TearDownOncePerProcess() { - const uint64_t flags = init_process_flags.load(); + const uint32_t flags = init_process_flags.load(); ResetStdio(); if (!(flags & ProcessInitializationFlags::kNoDefaultSignalHandling)) { ResetSignalHandlers(); diff --git a/src/node.h b/src/node.h index 561af155561923..04c50766cd1ee4 100644 --- a/src/node.h +++ b/src/node.h @@ -227,10 +227,8 @@ class Environment; class MultiIsolatePlatform; class InitializationResultImpl; -namespace ProcessFlags { -// TODO(addaleax): Switch to uint32_t to match std::atomic -// init_process_flags in node.cc -enum Flags : uint64_t { +namespace ProcessInitializationFlags { +enum Flags : uint32_t { kNoFlags = 0, // Enable stdio inheritance, which is disabled by default. // This flag is also implied by kNoStdioInitialization. @@ -271,8 +269,7 @@ enum Flags : uint64_t { kNoUseLargePages | kNoPrintHelpOrVersionOutput, }; } // namespace ProcessFlags -// TODO(addaleax): Make this the canonical name, as it is more descriptive. -namespace ProcessInitializationFlags = ProcessFlags; +namespace ProcessFlags = ProcessInitializationFlags; // Legacy alias. class NODE_EXTERN InitializationResult { public: