From 29b99720b202c9d65e33643dfd056d35a9ce118f Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Fri, 15 Nov 2019 17:25:26 -0800 Subject: [PATCH] Make TurboModuleRegistry in CatalystInstanceImpl.java volatile Summary: We read from / write to `CatalystInstanceImpl.mTurboModuleRegistry` from multiple threads. To ensure that we directly read/write from memory, and not a stale cache, we should make this variable `volatile`. Changelog: [Android][Fixed] Make TurboModuleRegistry in CatalystInstanceImpl.java volatile Reviewed By: fkgozali Differential Revision: D18542954 fbshipit-source-id: 0a47f05e0653b4f7f58503c678bdf31c68eab9bf --- .../java/com/facebook/react/bridge/CatalystInstanceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java index 7155c45f9d5..0822837e5a5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java @@ -105,7 +105,7 @@ public class CatalystInstanceImpl implements CatalystInstance { private @Nullable String mSourceURL; private JavaScriptContextHolder mJavaScriptContextHolder; - private @Nullable TurboModuleRegistry mTurboModuleRegistry = null; + private volatile @Nullable TurboModuleRegistry mTurboModuleRegistry = null; private @Nullable JSIModule mTurboModuleManagerJSIModule = null; // C++ parts