Re: idle tasks starving in toytoolkit

2013-10-04 Thread Tomeu Vizoso
On 27 September 2013 23:34, Daniel Stone wrote: > > Hi, > > On 27 September 2013 05:38, Neil Roberts wrote: > > Pekka Paalanen writes: > >> If not, is there not a possibility to break existing applications by > >> blocking too early? > > > > Yes, you're right, the patch is nonsense because it wo

Re: idle tasks starving in toytoolkit

2013-09-27 Thread Daniel Stone
Hi, On 27 September 2013 05:38, Neil Roberts wrote: > Pekka Paalanen writes: >> If not, is there not a possibility to break existing applications by >> blocking too early? > > Yes, you're right, the patch is nonsense because it won't work when the > application does wl_display_dispatch_pending b

Re: idle tasks starving in toytoolkit

2013-09-27 Thread Neil Roberts
Pekka Paalanen writes: > If not, is there not a possibility to break existing applications by > blocking too early? Yes, you're right, the patch is nonsense because it won't work when the application does wl_display_dispatch_pending because it might end up with some events still in the queue but

Re: idle tasks starving in toytoolkit

2013-09-27 Thread Pekka Paalanen
On Thu, 26 Sep 2013 16:59:13 +0200 Tomeu Vizoso wrote: > Hi, > > somewhat related to the issue of posting vs. queuing buffer.release event > is a condition I have found that starves idle handlers in window.c. > > If the SwapBuffers implementation waits for buffer.release events to make > sure t

Re: idle tasks starving in toytoolkit

2013-09-26 Thread Pekka Paalanen
On Thu, 26 Sep 2013 16:56:49 +0100 Neil Roberts wrote: > One idea to fix this might be to make dispatch_queue only ever > dispatch the events that were current when the loop is started. That > way if any further events are added while processing the current > events it will give control back to t

RE: idle tasks starving in toytoolkit

2013-09-26 Thread Neil Roberts
One idea to fix this might be to make dispatch_queue only ever dispatch the events that were current when the loop is started. That way if any further events are added while processing the current events it will give control back to the main loop before processing them. Here's a not-heavily-tested