From f0f283e05b2a89c5e11cd2d678348e282cc0c322 Mon Sep 17 00:00:00 2001 From: Alexander Blom Date: Thu, 18 Jul 2024 03:18:37 -0700 Subject: [PATCH] Fix data race in BufferedRuntimeExecutor Summary: isBufferingEnabled_ can be read (by design) from multiple threads, but it's not atomic. Make it so. Differential Revision: D59907026 --- .../ReactCommon/react/runtime/BufferedRuntimeExecutor.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native/ReactCommon/react/runtime/BufferedRuntimeExecutor.h b/packages/react-native/ReactCommon/react/runtime/BufferedRuntimeExecutor.h index 7fdb840a2d04..c13e7aa459ea 100644 --- a/packages/react-native/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +++ b/packages/react-native/ReactCommon/react/runtime/BufferedRuntimeExecutor.h @@ -41,7 +41,7 @@ class BufferedRuntimeExecutor { void unsafeFlush(); RuntimeExecutor runtimeExecutor_; - bool isBufferingEnabled_; + std::atomic isBufferingEnabled_; std::mutex lock_; std::atomic lastIndex_; std::priority_queue queue_;