Fix SIGABRT on USB unplug race condition in battery module

Co-authored-by: Alexays <13947260+Alexays@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-23 22:55:05 +00:00
parent 37d6541592
commit 49d4049ea3

View File

@ -139,7 +139,8 @@ void waybar::modules::Battery::refreshBatteries() {
auto event_path = (node.path() / "uevent");
auto wd = inotify_add_watch(battery_watch_fd_, event_path.c_str(), IN_ACCESS);
if (wd < 0) {
throw std::runtime_error("Could not watch events for " + node.path().string());
spdlog::warn("Could not watch events for {} (device may have been removed)", node.path().string());
continue;
}
batteries_[node.path()] = wd;
}