absl: fix lint errors in Mutex
Currently linter warns on all changes:
missing #include <cstdlib> for 'std::atexit'
and
single-argument constructors must be marked explicit to avoid unintentional implicit conversions
Fix that.
PiperOrigin-RevId: 542135136
Change-Id: Ic86649de6baef7f2de71f45875bb66bd730bf6e1
diff --git a/absl/synchronization/mutex.cc b/absl/synchronization/mutex.cc
index df7577b..3aa5560 100644
--- a/absl/synchronization/mutex.cc
+++ b/absl/synchronization/mutex.cc
@@ -36,6 +36,7 @@
#include <algorithm>
#include <atomic>
#include <cstddef>
+#include <cstdlib>
#include <cstring>
#include <thread> // NOLINT(build/c++11)
diff --git a/absl/synchronization/mutex.h b/absl/synchronization/mutex.h
index 184a585..2fd077c 100644
--- a/absl/synchronization/mutex.h
+++ b/absl/synchronization/mutex.h
@@ -513,7 +513,7 @@
base_internal::PerThreadSynch* w); // used for CondVar->Mutex transfer
// Catch the error of writing Mutex when intending MutexLock.
- Mutex(const volatile Mutex* /*ignored*/) {} // NOLINT(runtime/explicit)
+ explicit Mutex(const volatile Mutex* /*ignored*/) {}
Mutex(const Mutex&) = delete;
Mutex& operator=(const Mutex&) = delete;