Remove status command event on error
This prevents very high CPU load when the status command dies, and poll continuously awoken with POLLHUP.
This commit is contained in:
parent
9a3fb33e33
commit
2ebb6073b7
|
@ -418,7 +418,11 @@ static void ipc_in(int fd, short mask, void *_bar) {
|
|||
|
||||
static void status_in(int fd, short mask, void *_bar) {
|
||||
struct swaybar *bar = (struct swaybar *)_bar;
|
||||
if (status_handle_readable(bar->status)) {
|
||||
if (mask & (POLLHUP | POLLERR)) {
|
||||
status_error(bar->status, "[error reading from status command]");
|
||||
render_all_frames(bar);
|
||||
remove_event(fd);
|
||||
} else if (status_handle_readable(bar->status)) {
|
||||
render_all_frames(bar);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue