Merge "Remove obsolete __STDC_LIMIT_MACROS references." into main
diff --git a/bootstat/bootstat.cpp b/bootstat/bootstat.cpp
index 85a9935..d402bf1 100644
--- a/bootstat/bootstat.cpp
+++ b/bootstat/bootstat.cpp
@@ -830,7 +830,7 @@
return subReason;
}
-bool addKernelPanicSubReason(const pstoreConsole& console, std::string& ret) {
+void addKernelPanicSubReason(const pstoreConsole& console, std::string& ret) {
// Check for kernel panic types to refine information
if ((console.rfind("SysRq : Trigger a crash") != std::string::npos) ||
(console.rfind("PC is at sysrq_handle_crash+") != std::string::npos)) {
@@ -842,63 +842,61 @@
if (pos != std::string::npos) {
ret += "," + getSubreason(console, pos + strlen(sysrqSubreason), /* quoted */ true);
}
- return true;
+ return;
}
if (console.rfind("Unable to handle kernel NULL pointer dereference at virtual address") !=
std::string::npos) {
ret = "kernel_panic,null";
- return true;
+ return;
}
if (console.rfind("Kernel BUG at ") != std::string::npos) {
ret = "kernel_panic,bug";
- return true;
+ return;
}
std::string panic("Kernel panic - not syncing: ");
auto pos = console.rfind(panic);
- if (pos != std::string::npos) {
- static const std::vector<std::pair<const std::string, const std::string>> panicReasons = {
- {"Out of memory", "oom"},
- {"out of memory", "oom"},
- {"Oh boy, that early out of memory", "oom"}, // omg
- {"BUG!", "bug"},
- {"hung_task: blocked tasks", "hung"},
- {"audit: ", "audit"},
- {"scheduling while atomic", "atomic"},
- {"Attempted to kill init!", "init"},
- {"Requested init", "init"},
- {"No working init", "init"},
- {"Could not decompress init", "init"},
- {"RCU Stall", "hung,rcu"},
- {"stack-protector", "stack"},
- {"kernel stack overflow", "stack"},
- {"Corrupt kernel stack", "stack"},
- {"low stack detected", "stack"},
- {"corrupted stack end", "stack"},
- {"subsys-restart: Resetting the SoC - modem crashed.", "modem"},
- {"subsys-restart: Resetting the SoC - adsp crashed.", "adsp"},
- {"subsys-restart: Resetting the SoC - dsps crashed.", "dsps"},
- {"subsys-restart: Resetting the SoC - wcnss crashed.", "wcnss"},
- };
+ if (pos == std::string::npos) return;
- ret = "kernel_panic";
- for (auto& s : panicReasons) {
- if (console.find(panic + s.first, pos) != std::string::npos) {
- ret += "," + s.second;
- return true;
- }
+ static const std::vector<std::pair<const std::string, const std::string>> panicReasons = {
+ {"Out of memory", "oom"},
+ {"out of memory", "oom"},
+ {"Oh boy, that early out of memory", "oom"}, // omg
+ {"BUG!", "bug"},
+ {"hung_task: blocked tasks", "hung"},
+ {"audit: ", "audit"},
+ {"scheduling while atomic", "atomic"},
+ {"Attempted to kill init!", "init"},
+ {"Requested init", "init"},
+ {"No working init", "init"},
+ {"Could not decompress init", "init"},
+ {"RCU Stall", "hung,rcu"},
+ {"stack-protector", "stack"},
+ {"kernel stack overflow", "stack"},
+ {"Corrupt kernel stack", "stack"},
+ {"low stack detected", "stack"},
+ {"corrupted stack end", "stack"},
+ {"subsys-restart: Resetting the SoC - modem crashed.", "modem"},
+ {"subsys-restart: Resetting the SoC - adsp crashed.", "adsp"},
+ {"subsys-restart: Resetting the SoC - dsps crashed.", "dsps"},
+ {"subsys-restart: Resetting the SoC - wcnss crashed.", "wcnss"},
+ };
+
+ ret = "kernel_panic";
+ for (auto& s : panicReasons) {
+ if (console.find(panic + s.first, pos) != std::string::npos) {
+ ret += "," + s.second;
+ return;
}
- auto reason = getSubreason(console, pos + panic.length(), /* newline */ false);
- if (reason.length() > 3) {
- ret += "," + reason;
- }
- return true;
}
- return false;
+ auto reason = getSubreason(console, pos + panic.length(), /* newline */ false);
+ if (reason.length() > 3) {
+ ret += "," + reason;
+ }
}
-bool addKernelPanicSubReason(const std::string& content, std::string& ret) {
- return addKernelPanicSubReason(pstoreConsole(content), ret);
+void addKernelPanicSubReason(const std::string& content, std::string& ret) {
+ addKernelPanicSubReason(pstoreConsole(content), ret);
}
const char system_reboot_reason_property[] = "sys.boot.reason";
diff --git a/fastboot/usb_linux.cpp b/fastboot/usb_linux.cpp
index b7fd5ed..72e326a 100644
--- a/fastboot/usb_linux.cpp
+++ b/fastboot/usb_linux.cpp
@@ -269,6 +269,9 @@
auto path = android::base::StringPrintf("/sys/bus/usb/devices/%s/%s:1.%d/interface",
sysfs_name, sysfs_name, ifc->bInterfaceNumber);
if (android::base::ReadFileToString(path, &interface)) {
+ if (!interface.empty() && interface.back() == '\n') {
+ interface.pop_back();
+ }
snprintf(info.interface, sizeof(info.interface), "%s", interface.c_str());
}
diff --git a/fastboot/util.cpp b/fastboot/util.cpp
index e03012a..5966aea 100644
--- a/fastboot/util.cpp
+++ b/fastboot/util.cpp
@@ -31,7 +31,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
-#include <sys/time.h>
+#include <time.h>
#include <android-base/parseint.h>
#include <android-base/strings.h>
@@ -43,9 +43,9 @@
static bool g_verbose = false;
double now() {
- struct timeval tv;
- gettimeofday(&tv, NULL);
- return (double)tv.tv_sec + (double)tv.tv_usec / 1000000;
+ struct timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ return (double)ts.tv_sec + (double)ts.tv_nsec / 1000000000;
}
void die(const char* fmt, ...) {
diff --git a/healthd/BatteryMonitor.cpp b/healthd/BatteryMonitor.cpp
index b8bb586..fbdf5fe 100644
--- a/healthd/BatteryMonitor.cpp
+++ b/healthd/BatteryMonitor.cpp
@@ -530,7 +530,7 @@
props.chargerAcOnline ? "a" : "", props.chargerUsbOnline ? "u" : "",
props.chargerWirelessOnline ? "w" : "", props.chargerDockOnline ? "d" : "");
- KLOG_WARNING(LOG_TAG, "%s\n", dmesgline);
+ KLOG_DEBUG(LOG_TAG, "%s\n", dmesgline);
}
void BatteryMonitor::logValues(const HealthInfo_2_1& health_info,
diff --git a/libprocessgroup/TEST_MAPPING b/libprocessgroup/TEST_MAPPING
new file mode 100644
index 0000000..29a9ff0
--- /dev/null
+++ b/libprocessgroup/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+ "postsubmit": [
+ {
+ "name": "StagedRollbackTest"
+ }
+ ]
+}
diff --git a/libstats/pull_rust/Android.bp b/libstats/pull_rust/Android.bp
index 4609e6b..6902026 100644
--- a/libstats/pull_rust/Android.bp
+++ b/libstats/pull_rust/Android.bp
@@ -60,8 +60,8 @@
crate_name: "statspull_rust",
srcs: ["stats_pull.rs"],
rustlibs: [
- "liblazy_static",
"liblog_rust",
+ "libonce_cell",
"libstatslog_rust_header",
"libstatspull_bindgen",
],
diff --git a/libstats/pull_rust/stats_pull.rs b/libstats/pull_rust/stats_pull.rs
index d188b5f..b2bebcc 100644
--- a/libstats/pull_rust/stats_pull.rs
+++ b/libstats/pull_rust/stats_pull.rs
@@ -14,7 +14,7 @@
//! A Rust interface for the StatsD pull API.
-use lazy_static::lazy_static;
+use once_cell::sync::Lazy;
use statslog_rust_header::{Atoms, Stat, StatsError};
use statspull_bindgen::*;
use std::collections::HashMap;
@@ -107,9 +107,8 @@
}
}
-lazy_static! {
- static ref COOKIES: Mutex<HashMap<i32, fn() -> StatsPullResult>> = Mutex::new(HashMap::new());
-}
+static COOKIES: Lazy<Mutex<HashMap<i32, fn() -> StatsPullResult>>> =
+ Lazy::new(|| Mutex::new(HashMap::new()));
/// # Safety
///