From 19e0c0bb6ab4e3fdbc72acf9bd967e1ffaa3866d Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Mon, 25 Jun 2018 10:48:09 -0700 Subject: Fix data race issue caught by sanitizer (#1446) --- Firebase/Auth/Source/FIRAuthAppDelegateProxy.m | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Firebase/Auth/Source/FIRAuthAppDelegateProxy.m b/Firebase/Auth/Source/FIRAuthAppDelegateProxy.m index 3289b4e..73fbfda 100644 --- a/Firebase/Auth/Source/FIRAuthAppDelegateProxy.m +++ b/Firebase/Auth/Source/FIRAuthAppDelegateProxy.m @@ -205,14 +205,14 @@ static BOOL isIOS9orLater() { // iOS App extensions should not call [UIApplication sharedApplication], even if UIApplication // responds to it. static Class applicationClass = nil; - if (![FIRAppEnvironmentUtil isAppExtension]) { - Class cls = NSClassFromString(@"UIApplication"); - if (cls && [cls respondsToSelector:NSSelectorFromString(@"sharedApplication")]) { - applicationClass = cls; - } - } - UIApplication *application = [applicationClass sharedApplication]; dispatch_once(&onceToken, ^{ + if (![FIRAppEnvironmentUtil isAppExtension]) { + Class cls = NSClassFromString(@"UIApplication"); + if (cls && [cls respondsToSelector:NSSelectorFromString(@"sharedApplication")]) { + applicationClass = cls; + } + } + UIApplication *application = [applicationClass sharedApplication]; sharedInstance = [[self alloc] initWithApplication:application]; }); return sharedInstance; -- cgit v1.2.3