tree 106633d29b8786bfe8cfc1dffc38b27f9ad74222
parent 6c1ee8c1311a29cfaca4c0e0ec7e3b490485c0aa
author QUICHE team <quiche-dev@google.com> 1756961194 -0700
committer Copybara-Service <copybara-worker@google.com> 1756961250 -0700

Fix 14 ClangInliner findings:
* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::WriterMutexLock::WriterMutexLock. (8 times)
* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::ReaderMutexLock::ReaderMutexLock. (6 times)

See go/inliner-lsc for more information on why you've received this change and why it is important.

This CL looks good? Just LGTM and Approve it!
This CL doesn’t look good? This is what you can do:
* Revert this CL, by replying "REVERT: <provide reason>"
* File a bug under go/inliner-bug for category ClangInliner if there's an issue with the CL content.
* File a bug under go/rosie-bug if there's an issue with how the CL was managed.
* For all other issues such as the formatting of the CL, please file a bug under
go/clrobot-bug.
* Revert this CL and not get a CL that cleans up these paths in the future by
replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to
opt out the respective paths in your CL Robot configuration instead:
go/clrobot-opt-out.

This CL was generated by CL Robot - a tool that cleans up code findings
(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/METADATA by
following go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug
at go/clrobot-bug.

#clrobot #third_party-absl-synchronization-mutex.h

Tested:
    Local presubmit tests passed.
PiperOrigin-RevId: 802848539
