[PATCH 3/3] shell: avoid unnecessary busy cursor sending when not-responsing-ping client

Juan Zhao juan.j.zhao at linux.intel.com
Thu Jul 19 02:34:53 PDT 2012


On Wed, 2012-07-18 at 12:45 +0300, Ander Conselvan de Oliveira wrote:
> On 07/18/2012 08:25 AM, juan.j.zhao at linux.intel.com wrote:
> > From: Juan Zhao <juan.j.zhao at linux.intel.com>
> >
> > When the client didn't response to ping event in time, the server
> >   will do "set_busy_cursor" again and again.
> 
> You still have the problem after fixing the infinite recursion?
> 
> ping_timeout_handler() should be called just once for each
> unresponsive 
> surface. Note that the shsurf->ping_timer is not destroyed there and 
> ping_handler() will only send the ping event if shsurf->ping_timer is 
> NULL. The value of shsurf->ping_timer is only altered in 
> ping_timer_destroy() that is only called from shell_surface_pong()
> and 
> destroy_shell_surface().
Oh, yeah. Just have a test. You're right. timeout_handler will be called
only once. So please ignore this patch. Please only review the other two
pathes. :)
> 
> Can you provide the output of running weston with WAYLAND_DEBUG=1
> where 
> this happens?
When enabling WAYLAND_DEBUG, and let weston print the log to the screen.
I may still meet the cursor not fluent issue. 
I'm thinking it's because too many logs to print to the screen, IO is
too busy.
If we redirent it to a file, then we don't have such problems.
Maybe weston can create a log file to log. Because printing to screen
line by line cost a lot. :)

Thanks,
juan


> 
> Cheers,
> Ander 



More information about the wayland-devel mailing list