mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2026-02-11 04:28:09 -05:00
This provides an extended version of ‘create_pool’, called ‘create_pool2’, which allows the client to specify a 64-bit offset in the file to map at. As Wayland does not support 64-bit integers, the offset is passed as two 32-bit numbers. The intended use-case for this extension is when one needs to map a surface from a character special device, but it can also be used with regular files if one needs to map with a nonzero offset. Qubes OS needs the Wayland compositor to map the ‘/dev/xen/gntdev’ character device, which represents memory shared by a different Xen virtual machine. Currently, this can be accomplished by opening a separate instance of ‘/dev/xen/gntdev’ every time, but that is slightly wasteful. Until recently, it also on undocumented behavior in the kernel driver. This also requires libwayland-server to be built with 64-bit off_t, which should be supported on any reasonably modern system. A ‘_Static_assert’ will trip if off_t is not large enough. This also forbids resizing a pool of version 3 or later that is currently in use. On non-Linux systems, supporting pool resize requires holding the file descriptor open, which can lead to file descriptor exhaustion in the compositor. This change allows libwayland-server to close the file descriptor once the pool is first mapped. Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| generate-shm-formats.py | ||
| tests.xml | ||
| wayland.dtd | ||
| wayland.xml | ||