mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-25 01:20:11 +01:00
Break poll() to make it match the Xserver's broken expectations.
This commit is contained in:
parent
486a84d70c
commit
b974e2cd68
1 changed files with 6 additions and 5 deletions
|
|
@ -472,14 +472,15 @@ EXPORT_SYMBOL(drm_release);
|
|||
/** No-op. */
|
||||
/* This is to deal with older X servers that believe 0 means data is
|
||||
* available which is not the correct return for a poll function.
|
||||
* By alternating returns both interfaces are happy. This is fixed
|
||||
* in newer X servers.
|
||||
* This cannot be fixed until the Xserver is fixed. Xserver will need
|
||||
* to set a newer interface version to avoid breaking older Xservers.
|
||||
* Without fixing the Xserver you get: "WaitForSomething(): select: errno=22"
|
||||
* http://freedesktop.org/bugzilla/show_bug.cgi?id=1505 if you try
|
||||
* to return the correct response.
|
||||
*/
|
||||
unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait)
|
||||
{
|
||||
static int flip;
|
||||
if ((flip = !flip))
|
||||
return (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM);
|
||||
/* return (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM); */
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_poll);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue