From caefa230d76004a5a7efece1bb51e9b1b12c820f Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Mon, 27 Feb 2023 13:06:40 -0800 Subject: [PATCH 1/2] BEHAVIORAL IMPROVEMENT: Statically initialize stl_critical_section_win7::m_srw_lock. This doesn't affect the redist's interface - stl/src/primitives.hpp is built into the DLL or static LIB, so there's no mix-and-match concern. We use SRWLOCK_INIT everywhere now. --- stl/src/primitives.hpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/stl/src/primitives.hpp b/stl/src/primitives.hpp index 176dcbf02cc..4bef747f323 100644 --- a/stl/src/primitives.hpp +++ b/stl/src/primitives.hpp @@ -30,9 +30,7 @@ namespace Concurrency { class stl_critical_section_win7 final : public stl_critical_section_interface { public: - stl_critical_section_win7() { - InitializeSRWLock(&m_srw_lock); - } + stl_critical_section_win7() {} ~stl_critical_section_win7() = delete; stl_critical_section_win7(const stl_critical_section_win7&) = delete; @@ -62,7 +60,7 @@ namespace Concurrency { } private: - SRWLOCK m_srw_lock; + SRWLOCK m_srw_lock = SRWLOCK_INIT; }; class stl_condition_variable_win7 final : public stl_condition_variable_interface { From 03dc73b359b89aa73957d7c17b4d2828e003c3a9 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Fri, 3 Mar 2023 17:29:31 -0800 Subject: [PATCH 2/2] `= default;` the default constructor. --- stl/src/primitives.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stl/src/primitives.hpp b/stl/src/primitives.hpp index 4bef747f323..7e835f1d3c3 100644 --- a/stl/src/primitives.hpp +++ b/stl/src/primitives.hpp @@ -30,7 +30,7 @@ namespace Concurrency { class stl_critical_section_win7 final : public stl_critical_section_interface { public: - stl_critical_section_win7() {} + stl_critical_section_win7() = default; ~stl_critical_section_win7() = delete; stl_critical_section_win7(const stl_critical_section_win7&) = delete;