diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2017-08-12 23:47:19 +0200 |
---|---|---|
committer | Dominique Martinet <asmadeus@codewreck.org> | 2017-08-13 07:53:33 +0200 |
commit | f2e2794365924b8d51b790ac43699f75d93b2721 (patch) | |
tree | a65df01ff34a8de4b9d9bca89b1f5a209474f9b5 | |
parent | 60d1131df2d1fce40d507f290949eba55baa2087 (diff) |
wayland backend: do not watch wayland fd for writable
Wayland fd is always writable and will busy-loop.
The dispatch function gets called with 0-mask when we need to flush
display anyway, so this saves CPU at no visible impact.
-rw-r--r-- | backend/wayland/backend.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c index d1234c67..86cedc89 100644 --- a/backend/wayland/backend.c +++ b/backend/wayland/backend.c @@ -17,9 +17,6 @@ static int dispatch_events(int fd, uint32_t mask, void *data) { if (mask & WL_EVENT_READABLE) { count = wl_display_dispatch(backend->remote_display); } - if (mask & WL_EVENT_WRITABLE) { - count = wl_display_flush(backend->remote_display); - } if (mask == 0) { count = wl_display_dispatch_pending(backend->remote_display); wl_display_flush(backend->remote_display); @@ -63,7 +60,7 @@ static bool wlr_wl_backend_init(struct wlr_backend *_backend) { struct wl_event_loop *loop = wl_display_get_event_loop(backend->local_display); int fd = wl_display_get_fd(backend->remote_display); int events = WL_EVENT_READABLE | WL_EVENT_ERROR | - WL_EVENT_HANGUP | WL_EVENT_WRITABLE; + WL_EVENT_HANGUP; backend->remote_display_src = wl_event_loop_add_fd(loop, fd, events, dispatch_events, backend); wl_event_source_check(backend->remote_display_src); |