From 0fd614b0a92efceda40086d592a2426af5afe988 Mon Sep 17 00:00:00 2001
From: patrick96
Date: Tue, 13 Feb 2018 10:15:02 +0100
Subject: [PATCH] refactor(controller): Print error message on select fail
---
src/components/controller.cpp | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/components/controller.cpp b/src/components/controller.cpp
index cd3fc334..2f93c969 100644
--- a/src/components/controller.cpp
+++ b/src/components/controller.cpp
@@ -275,7 +275,20 @@ void controller::read_events() {
int events = select(maxfd + 1, &readfds, nullptr, nullptr, nullptr);
// Check for errors
- if (events == -1 || g_terminate || m_connection.connection_has_error()) {
+ if (events == -1) {
+
+ /*
+ * The Interrupt errno is generated when polybar is stopped, so it
+ * shouldn't generate an error message
+ */
+ if (errno != EINTR) {
+ m_log.err("select failed in event loop: %s", strerror(errno));
+ }
+
+ break;
+ }
+
+ if (g_terminate || m_connection.connection_has_error()) {
break;
}