• Dominik Inführ's avatar
    [logging] Make Logger::SetUp and TearDownAndGetLogFile thread-safe · 433b4984
    Dominik Inführ authored
    While so far this should only happen in tests in test-log.cc, it can
    happen that background threads using Logger::is_logging() race with
    Logger::TearDownAndGetLogFile().
    
    Fix the race by protecting is_logging_ with the mutex that is also used
    for writing log messages. Logger::is_logging_ now becomes relaxed
    atomic, such that code for logging isn't required to lock the mutex
    to check whether logging is enabled.
    
    Also remove Log::IsEnabled() in favor of Logger::is_logging() to avoid
    checking both flags since both are the same.
    
    Bug: v8:10315
    Change-Id: Ic14e7f74334eb8a8438abad82ad227d1e6752bb8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416488
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69973}
    433b4984
log.cc 79.7 KB