From de7c0655f0e2ede476f4caf211564445eb0890af Mon Sep 17 00:00:00 2001 From: Phillip Pan Date: Mon, 31 Jul 2023 06:06:06 -0700 Subject: [PATCH] cleanup RCTDisableTurboModuleManagerDelegateLocking (#38522) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/38522 Changelog: [Internal] as title Reviewed By: mdvacca Differential Revision: D47619958 fbshipit-source-id: f37efe205b4bf607dc5d159f87104edbf794c6eb --- packages/react-native/React/Base/RCTBridge.h | 4 ---- packages/react-native/React/Base/RCTBridge.mm | 12 ------------ .../ios/ReactCommon/RCTTurboModuleManager.mm | 11 ++++------- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/packages/react-native/React/Base/RCTBridge.h b/packages/react-native/React/Base/RCTBridge.h index 9ab945b67fc..fc0991763f1 100644 --- a/packages/react-native/React/Base/RCTBridge.h +++ b/packages/react-native/React/Base/RCTBridge.h @@ -53,10 +53,6 @@ RCT_EXTERN void RCTEnableTurboModule(BOOL enabled); RCT_EXTERN BOOL RCTTurboModuleEagerInitEnabled(void); RCT_EXTERN void RCTEnableTurboModuleEagerInit(BOOL enabled); -// Turn off TurboModule delegate locking -RCT_EXTERN BOOL RCTTurboModuleManagerDelegateLockingDisabled(void); -RCT_EXTERN void RCTDisableTurboModuleManagerDelegateLocking(BOOL enabled); - // Turn on TurboModule interop RCT_EXTERN BOOL RCTTurboModuleInteropEnabled(void); RCT_EXTERN void RCTEnableTurboModuleInterop(BOOL enabled); diff --git a/packages/react-native/React/Base/RCTBridge.mm b/packages/react-native/React/Base/RCTBridge.mm index 76c3e81378c..564cca6942a 100644 --- a/packages/react-native/React/Base/RCTBridge.mm +++ b/packages/react-native/React/Base/RCTBridge.mm @@ -108,18 +108,6 @@ void RCTEnableTurboModuleEagerInit(BOOL enabled) turboModuleEagerInitEnabled = enabled; } -// Turn off TurboModule delegate locking -static BOOL turboModuleManagerDelegateLockingDisabled = YES; -BOOL RCTTurboModuleManagerDelegateLockingDisabled(void) -{ - return turboModuleManagerDelegateLockingDisabled; -} - -void RCTDisableTurboModuleManagerDelegateLocking(BOOL disabled) -{ - turboModuleManagerDelegateLockingDisabled = disabled; -} - static BOOL turboModuleInteropEnabled = NO; BOOL RCTTurboModuleInteropEnabled(void) { diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm index c1659d80fa8..021e445c0c8 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +++ b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm @@ -786,10 +786,8 @@ static Class getFallbackClassFromName(const char *name) return _legacyEagerlyRegisteredModuleClasses[moduleNameStr]; } - Class moduleClass; - if (RCTTurboModuleManagerDelegateLockingDisabled()) { - moduleClass = [_delegate getModuleClassFromName:moduleName]; - } else { + Class moduleClass = nil; + { std::lock_guard delegateGuard(_turboModuleManagerDelegateMutex); moduleClass = [_delegate getModuleClassFromName:moduleName]; } @@ -828,12 +826,11 @@ static Class getFallbackClassFromName(const char *name) } id module = nil; - if (RCTTurboModuleManagerDelegateLockingDisabled()) { - module = (id)[_delegate getModuleInstanceFromClass:moduleClass]; - } else { + { std::lock_guard delegateGuard(_turboModuleManagerDelegateMutex); module = (id)[_delegate getModuleInstanceFromClass:moduleClass]; } + if (!module) { module = [moduleClass new]; }