wl_event_loop_add_fd: Only watch for READABLE & WRITABLE

Signed-off-by: liupeng <liupeng01@kylinos.cn>
This commit is contained in:
liupeng 2026-05-11 09:52:17 +08:00 committed by Simon Ser
parent e532b4c26c
commit 5ef24c2d17
2 changed files with 2 additions and 4 deletions

View file

@ -575,8 +575,7 @@ struct wlr_backend *wlr_x11_backend_create(struct wl_event_loop *loop,
} }
int fd = xcb_get_file_descriptor(x11->xcb); int fd = xcb_get_file_descriptor(x11->xcb);
uint32_t events = WL_EVENT_READABLE | WL_EVENT_ERROR | WL_EVENT_HANGUP; x11->event_source = wl_event_loop_add_fd(loop, fd, WL_EVENT_READABLE, x11_event, x11);
x11->event_source = wl_event_loop_add_fd(loop, fd, events, x11_event, x11);
if (!x11->event_source) { if (!x11->event_source) {
wlr_log(WLR_ERROR, "Could not create event source"); wlr_log(WLR_ERROR, "Could not create event source");
goto error_display; goto error_display;

View file

@ -179,7 +179,6 @@ bool wlr_drm_syncobj_merger_add_dmabuf(struct wlr_drm_syncobj_merger *merger,
return true; return true;
} }
uint32_t mask = WL_EVENT_ERROR | WL_EVENT_HANGUP | WL_EVENT_WRITABLE;
for (int i = 0; i < dmabuf_attributes.n_planes; ++i) { for (int i = 0; i < dmabuf_attributes.n_planes; ++i) {
struct poll_waiter *waiter = calloc(1, sizeof(*waiter)); struct poll_waiter *waiter = calloc(1, sizeof(*waiter));
if (waiter == NULL) { if (waiter == NULL) {
@ -187,7 +186,7 @@ bool wlr_drm_syncobj_merger_add_dmabuf(struct wlr_drm_syncobj_merger *merger,
} }
waiter->merger = wlr_drm_syncobj_merger_ref(merger); waiter->merger = wlr_drm_syncobj_merger_ref(merger);
waiter->event_source = wl_event_loop_add_fd(event_loop, waiter->event_source = wl_event_loop_add_fd(event_loop,
dmabuf_attributes.fd[i], mask, poll_waiter_handle_done, waiter); dmabuf_attributes.fd[i], WL_EVENT_WRITABLE, poll_waiter_handle_done, waiter);
if (waiter->event_source == NULL) { if (waiter->event_source == NULL) {
wlr_drm_syncobj_merger_unref(waiter->merger); wlr_drm_syncobj_merger_unref(waiter->merger);
free(waiter); free(waiter);