Skip to content

server: Use dlsym() to check for epoll_pwait2 at run-time.

William Horvath requested to merge whrvt/wine:epoll_pwait2-2 into master

This fixes a real problem and improves behavior at the same time.

  • Fixes: hanging when trying to run Wine built with epoll_pwait2 headers available but epoll_pwait2 is missing in the run-time kernel (i.e. build 5.11->run 5.10) (already fixed.)

  • Improvement: bring the improved timeout resolution to Wine builds which didn't have epoll_pwait2 at compile time, if the run-time kernel supports it (i.e. build 5.10->run 6.14)

This last point is especially important in my opinion, as it applies to official Proton builds. Proton is (currently) built in Debian 11 with kernel 5.10, but SteamOS is a moving target with a much newer kernel version being used to run these Wine builds.

These builds use the lower resolution timeouts if epoll_pwait2 is only checked for at compile-time, when it can cheaply and easily be done at run-time instead.

Fixes: 87ca5db4

An alternative to !7640 (merged) that kills two birds with one stone.

Edited by William Horvath

Merge request reports

Loading