This happened to me in a VMWare image. Do you think that would make a difference?
-----Original Message----- From: Kristian Høgsberg [mailto:[email protected]] Sent: Thursday, June 06, 2013 10:17 PM To: Singh, Satyeshwar Cc: [email protected] Subject: Re: [PATCH 1/1] evdev: Fix a high CPU utilization bug On Thu, Jun 06, 2013 at 05:17:37PM +0000, Singh, Satyeshwar wrote: > The problem was that if we ever switched to another tty while running > Weston, then we would essentially not handle any remaining events and Weston > would enter an infinite loop where it's trying to process an event but it > can't because the processing function evdev_device_data exits before it can > read anything from the queue. With this fix, we read whatever is in the > queue, but not process it any further. That's odd, that shouldn't happen. We close all evdev devices when we vt switch away. I couldn't reproduce it here either... is there a certain sequence that triggers it? Kristian > > --- > src/evdev.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/src/evdev.c b/src/evdev.c > index 9289b1c..70d3c52 100644 > --- a/src/evdev.c > +++ b/src/evdev.c > @@ -372,8 +372,6 @@ evdev_device_data(int fd, uint32_t mask, void *data) > int len; > > ec = device->seat->compositor; > - if (!ec->focus) > - return 1; > > /* If the compositor is repainting, this function is called only once > * per frame and we have to process all the events available on the > @@ -391,7 +389,8 @@ evdev_device_data(int fd, uint32_t mask, void *data) > return 1; > } > > - evdev_process_events(device, ev, len / sizeof ev[0]); > + if (ec->focus) > + evdev_process_events(device, ev, len / sizeof ev[0]); > > } while (len > 0); > > -- > 1.7.11.4 > > > > _______________________________________________ > wayland-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
