diff options
author | Gil <mcg@google.com> | 2017-12-22 15:09:20 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-22 15:09:20 -0800 |
commit | f851af5323b8ded1d609ced61ad319645337d6d5 (patch) | |
tree | e59dec80ab08fdfe9190c97fb31da648535ffcf4 /Firebase | |
parent | 08704a617c9b8ebb99d2eb0720c0952af70703df (diff) |
Run FIRSetLoggerLevel and FIRIsLoggableLevel on the same thread (#592)
This fixes a race condition where a caller calls FIRSetLoggerLevel and
then checks FIRIsLoggableLevel immediately after.
Diffstat (limited to 'Firebase')
-rw-r--r-- | Firebase/Core/FIRLogger.m | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Firebase/Core/FIRLogger.m b/Firebase/Core/FIRLogger.m index ba22bde..2b2a0ae 100644 --- a/Firebase/Core/FIRLogger.m +++ b/Firebase/Core/FIRLogger.m @@ -164,13 +164,13 @@ void FIRSetLoggerLevel(FIRLoggerLevel loggerLevel) { return; } FIRLoggerInitializeASL(); - dispatch_async(sFIRClientQueue, ^{ - // We should not raise the logger level if we are running from App Store. - if (loggerLevel >= FIRLoggerLevelNotice && [FIRAppEnvironmentUtil isFromAppStore]) { - return; - } + // We should not raise the logger level if we are running from App Store. + if (loggerLevel >= FIRLoggerLevelNotice && [FIRAppEnvironmentUtil isFromAppStore]) { + return; + } - sFIRLoggerMaximumLevel = loggerLevel; + sFIRLoggerMaximumLevel = loggerLevel; + dispatch_async(sFIRClientQueue, ^{ asl_set_filter(sFIRLoggerClient, ASL_FILTER_MASK_UPTO(loggerLevel)); }); } |