diff --git a/toolsrc/include/vcpkg/globalstate.h b/toolsrc/include/vcpkg/globalstate.h index 2a76c8741ff..ae66ca355fd 100644 --- a/toolsrc/include/vcpkg/globalstate.h +++ b/toolsrc/include/vcpkg/globalstate.h @@ -22,6 +22,8 @@ namespace vcpkg struct CtrlCStateMachine { + CtrlCStateMachine(); + void transition_to_spawn_process() noexcept; void transition_from_spawn_process() noexcept; void transition_handle_ctrl_c() noexcept; @@ -34,7 +36,7 @@ namespace vcpkg exit_requested, }; - std::atomic m_state = CtrlCState::normal; + std::atomic m_state; }; static CtrlCStateMachine g_ctrl_c_state; diff --git a/toolsrc/src/vcpkg/globalstate.cpp b/toolsrc/src/vcpkg/globalstate.cpp index ee576f9cee9..a54c596fb65 100644 --- a/toolsrc/src/vcpkg/globalstate.cpp +++ b/toolsrc/src/vcpkg/globalstate.cpp @@ -17,6 +17,8 @@ namespace vcpkg GlobalState::CtrlCStateMachine GlobalState::g_ctrl_c_state; + GlobalState::CtrlCStateMachine::CtrlCStateMachine() : m_state(CtrlCState::normal) {} + void GlobalState::CtrlCStateMachine::transition_to_spawn_process() noexcept { auto expected = CtrlCState::normal;