Thomas Hellström wrote:
>
>
> If we look at the following GEM code:
>
>     if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) {
>         i915_user_irq_on(dev_priv);
>         ret = wait_event_interruptible(dev_priv->irq_queue,
>                            i915_seqno_passed(i915_get_gem_seqno(dev),
>                                  seqno));
>         i915_user_irq_off(dev_priv);
>     }
>     if (ret)
>         DRM_ERROR("%s returns %d (awaiting %d at %d)\n",
>               __func__, ret, seqno, i915_get_gem_seqno(dev));
>
> If the "wait_event_interruptible" hits a signal, it will return an 
> -ERESTARTSYS.
> In that case no error message should be printed out, and the code should 
> perform all cleanup necessary to be able to restart from the ioctl entry 
> point, and then return an appropriate error message (-EINTR or perhaps 
> -EAGAIN) to user-space. The above code might kill the X server if it 
> hits a mouse-movement signal during the wait.
>
>   
And something like this apparently happens in BUG #16334.

/Thomas




-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to