mirror of
https://github.com/swaywm/sway.git
synced 2024-11-26 18:01:29 +00:00
Merge pull request #3191 from emersion/fix-swayidle-busy-dispatch
swayidle: fix busy loop on writable FD
This commit is contained in:
commit
0ebb4107bc
|
@ -192,8 +192,7 @@ static void setup_sleep_listener(void) {
|
||||||
acquire_sleep_lock();
|
acquire_sleep_lock();
|
||||||
|
|
||||||
struct wl_event_source *source = wl_event_loop_add_fd(state.event_loop,
|
struct wl_event_source *source = wl_event_loop_add_fd(state.event_loop,
|
||||||
sd_bus_get_fd(bus), WL_EVENT_READABLE | WL_EVENT_WRITABLE,
|
sd_bus_get_fd(bus), WL_EVENT_READABLE, dbus_event, bus);
|
||||||
dbus_event, bus);
|
|
||||||
wl_event_source_check(source);
|
wl_event_source_check(source);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -401,10 +400,12 @@ static int display_event(int fd, uint32_t mask, void *data) {
|
||||||
count = wl_display_dispatch_pending(state.display);
|
count = wl_display_dispatch_pending(state.display);
|
||||||
wl_display_flush(state.display);
|
wl_display_flush(state.display);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count < 0) {
|
if (count < 0) {
|
||||||
wlr_log_errno(WLR_ERROR, "wl_display_dispatch failed, exiting");
|
wlr_log_errno(WLR_ERROR, "wl_display_dispatch failed, exiting");
|
||||||
sway_terminate(0);
|
sway_terminate(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -462,7 +463,7 @@ int main(int argc, char *argv[]) {
|
||||||
wl_display_roundtrip(state.display);
|
wl_display_roundtrip(state.display);
|
||||||
|
|
||||||
struct wl_event_source *source = wl_event_loop_add_fd(state.event_loop,
|
struct wl_event_source *source = wl_event_loop_add_fd(state.event_loop,
|
||||||
wl_display_get_fd(state.display), WL_EVENT_READABLE | WL_EVENT_WRITABLE,
|
wl_display_get_fd(state.display), WL_EVENT_READABLE,
|
||||||
display_event, NULL);
|
display_event, NULL);
|
||||||
wl_event_source_check(source);
|
wl_event_source_check(source);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue