From 7c60bd0070113a43c8e612ae483344e18038c739 Mon Sep 17 00:00:00 2001 From: Alona Enraght-Moony Date: Mon, 29 Jun 2026 23:08:33 +0100 Subject: [PATCH] Fix abseil lock deprecations Fixes https://github.com/google/re2/issues/631 These were deprecated in https://github.com/abseil/abseil-cpp/commit/6d8e1a5cf00d6a6b26069b0baf0dd9b855a17459 --- re2/dfa.cc | 10 +++++----- re2/regexp.cc | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/re2/dfa.cc b/re2/dfa.cc index d587a5520..338093e78 100644 --- a/re2/dfa.cc +++ b/re2/dfa.cc @@ -1152,24 +1152,24 @@ class DFA::RWLocker { }; DFA::RWLocker::RWLocker(CacheMutex* mu) : mu_(mu), writing_(false) { - mu_->ReaderLock(); + mu_->lock_shared(); } // This function is marked as ABSL_NO_THREAD_SAFETY_ANALYSIS because // the annotations don't support lock upgrade. void DFA::RWLocker::LockForWriting() ABSL_NO_THREAD_SAFETY_ANALYSIS { if (!writing_) { - mu_->ReaderUnlock(); - mu_->WriterLock(); + mu_->unlock_shared(); + mu_->lock(); writing_ = true; } } DFA::RWLocker::~RWLocker() { if (!writing_) - mu_->ReaderUnlock(); + mu_->unlock_shared(); else - mu_->WriterUnlock(); + mu_->unlock(); } diff --git a/re2/regexp.cc b/re2/regexp.cc index f7e5ba297..5a7a9a886 100644 --- a/re2/regexp.cc +++ b/re2/regexp.cc @@ -83,8 +83,8 @@ struct RefStorage { }; alignas(RefStorage) static char ref_storage[sizeof(RefStorage)]; -static inline absl::Mutex* ref_mutex() { - return &reinterpret_cast(ref_storage)->ref_mutex; +static inline absl::Mutex& ref_mutex() { + return reinterpret_cast(ref_storage)->ref_mutex; } static inline absl::flat_hash_map* ref_map() {