From 6921fdc6d6134fd7aaf38ffc1686623eca9bbd18 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 14 Oct 2018 12:28:38 +1000 Subject: Remove timerfd from loop implementation timerfd doesn't work on the BSDs, so this replaces it with a timespec for the expiry and uses a poll timeout to check the timers when needed. --- swaybar/bar.c | 6 +++--- swaybar/status_line.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'swaybar') diff --git a/swaybar/bar.c b/swaybar/bar.c index 8e89c9a8..be290c18 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c @@ -647,7 +647,7 @@ static void status_in(int fd, short mask, void *data) { if (mask & (POLLHUP | POLLERR)) { status_error(bar->status, "[error reading from status command]"); set_bar_dirty(bar); - loop_remove_event(bar->eventloop, bar->status_event); + loop_remove_fd(bar->eventloop, fd); } else if (status_handle_readable(bar->status)) { set_bar_dirty(bar); } @@ -658,8 +658,8 @@ void bar_run(struct swaybar *bar) { display_in, bar); loop_add_fd(bar->eventloop, bar->ipc_event_socketfd, POLLIN, ipc_in, bar); if (bar->status) { - bar->status_event = loop_add_fd( - bar->eventloop, bar->status->read_fd, POLLIN, status_in, bar); + loop_add_fd(bar->eventloop, bar->status->read_fd, POLLIN, + status_in, bar); } while (1) { wl_display_flush(bar->display); diff --git a/swaybar/status_line.c b/swaybar/status_line.c index 3f7a386f..65d6c052 100644 --- a/swaybar/status_line.c +++ b/swaybar/status_line.c @@ -16,7 +16,7 @@ static void status_line_close_fds(struct status_line *status) { if (status->read_fd != -1) { - loop_remove_event(status->bar->eventloop, status->bar->status_event); + loop_remove_fd(status->bar->eventloop, status->read_fd); close(status->read_fd); status->read_fd = -1; } -- cgit v1.2.3