[PATCH] xfree86: Move Xv's AdjustFrame work to BlockHandler (#4652)

Tiago Vignatti tiago.vignatti at nokia.com
Wed Aug 11 07:23:19 PDT 2010


On Mon, Aug 09, 2010 at 08:09:53PM +0200, ext Adam Jackson wrote:
> If the SIGIO handler interrupts the drivers XVPutImage hook, we can end
> up calling RemovePortFromWindow(NULL), which will fault.  That's nasty
> enough, but calling RegionDestroy is also verboten since that races with
> malloc.
> 
> Move it all to the block handler, being careful to block SIGIO
> processing during the difficult bit of the work.  Note that there's an
> unavoidable race here between reading the "do I need to finish" variable
> and going back to select(), which means in the worst case we can be one
> frame behind in updates until the next time we hit select().  Serves you
> right for using panning.
> 
> Signed-off-by: Adam Jackson <ajax at redhat.com>

This logic seems to be correct for me:
Acked-by: Tiago Vignatti <tiago.vignatti at nokia.com>

            Tiago


More information about the xorg-devel mailing list