Fix implicit conversion changes signess warning in perf_counters.cc (#1765)

`read_bytes` is `ssize_t` (and we know it's non-negative),
we need to explicitly cast it to `size_t`.
This commit is contained in:
Afanasyev Ivan 2024-03-09 19:35:18 +07:00 committed by GitHub
parent eaafe694d2
commit ad7c3ff18b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -39,7 +39,8 @@ size_t PerfCounterValues::Read(const std::vector<int>& leaders) {
auto read_bytes = ::read(lead, ptr, size);
if (read_bytes >= ssize_t(sizeof(uint64_t))) {
// Actual data bytes are all bytes minus initial padding
std::size_t data_bytes = read_bytes - sizeof(uint64_t);
std::size_t data_bytes =
static_cast<std::size_t>(read_bytes) - sizeof(uint64_t);
// This should be very cheap since it's in hot cache
std::memmove(ptr, ptr + sizeof(uint64_t), data_bytes);
// Increment our counters