On Tue, Jul 25, 2017 at 04:49:52PM -0500, Derek Foreman wrote: > On 2017-07-25 04:39 PM, Derek Foreman wrote: > > This is easily noticed as a leaked fd on every VC switch. > > > > Signed-off-by: Derek Foreman <[email protected]> > > --- > > libweston/libinput-seat.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/libweston/libinput-seat.c b/libweston/libinput-seat.c > > index 8cf5666b..953f6205 100644 > > --- a/libweston/libinput-seat.c > > +++ b/libweston/libinput-seat.c > > @@ -134,6 +134,8 @@ udev_input_disable(struct udev_input *input) > > if (input->suspended) > > return; > > + wl_event_source_remove(input->libinput_source); > > + input->libinput_source = NULL; > > Actually having second thoughts about this - can this fd ever change on us? > Or can we just keep the event source we added in the first call to > udev_input_enable forever? > > Peter - can you school me on libinput usage here?
the fd you get from libinput is an epoll fd, so it won't ever change for this libinput ontext. And the API is designed around it, so we have to guarantee that the fd is always the same anyway. this patch lgtm, Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter > > > libinput_suspend(input->libinput); > > process_events(input); > > input->suspended = 1; > > @@ -337,7 +339,8 @@ udev_input_destroy(struct udev_input *input) > > { > > struct udev_seat *seat, *next; > > - wl_event_source_remove(input->libinput_source); > > + if (input->libinput_source) > > + wl_event_source_remove(input->libinput_source); > > wl_list_for_each_safe(seat, next, &input->compositor->seat_list, > > base.link) > > udev_seat_destroy(seat); > > libinput_unref(input->libinput); > > > _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
