forked from pool/wayland
Accepting request 987762 from X11:Wayland
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/987762 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wayland?expand=0&rev=48
This commit is contained in:
commit
e270a08454
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b8a034154c7059772e0fdbd27dbfcda6c732df29cae56a82274f6ec5d7cd8725
|
||||
size 225188
|
Binary file not shown.
3
wayland-1.21.0.tar.xz
Normal file
3
wayland-1.21.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac
|
||||
size 225936
|
BIN
wayland-1.21.0.tar.xz.sig
Normal file
BIN
wayland-1.21.0.tar.xz.sig
Normal file
Binary file not shown.
@ -1,74 +0,0 @@
|
||||
From b20428663afa1a6351eb943b5f2992a744c18797 Mon Sep 17 00:00:00 2001
|
||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Date: Mon, 10 Jan 2022 15:10:07 +0100
|
||||
Subject: [PATCH] shm: Close file descriptors not needed
|
||||
|
||||
Commit 5a981ee8 implemented a fallback path for platforms which do not
|
||||
support mremap() such as FreeBSD.
|
||||
|
||||
To do so, the file descriptor for the mmap() is not closed immediately
|
||||
but instead kept as long as the pool exists.
|
||||
|
||||
That induces more file descriptors kept open for longer, which in turn
|
||||
may cause problems as wl_shm may be using a lot of file descriptors,
|
||||
especially with Xwayland which can create a lot of pixmaps on behalf of
|
||||
its X11 clients.
|
||||
|
||||
For platforms where mremap() is available, keeping those file
|
||||
descriptors opened is a bit of a waste and may cause exhaustion of file
|
||||
descriptors sooner that before commit 5a981ee8.
|
||||
|
||||
Only keep the mmap() file descriptor open on platforms which do not
|
||||
implement mremap() and close it immediately as before on others.
|
||||
|
||||
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1283
|
||||
---
|
||||
src/wayland-shm.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/src/wayland-shm.c b/src/wayland-shm.c
|
||||
index 63ac0d7d..17ab77f4 100644
|
||||
--- a/src/wayland-shm.c
|
||||
+++ b/src/wayland-shm.c
|
||||
@@ -65,10 +65,12 @@ struct wl_shm_pool {
|
||||
char *data;
|
||||
ssize_t size;
|
||||
ssize_t new_size;
|
||||
+#ifndef MREMAP_MAYMOVE
|
||||
/* The following three fields are needed for mremap() emulation. */
|
||||
int mmap_fd;
|
||||
int mmap_flags;
|
||||
int mmap_prot;
|
||||
+#endif
|
||||
bool sigbus_is_impossible;
|
||||
};
|
||||
|
||||
@@ -153,7 +155,9 @@ shm_pool_unref(struct wl_shm_pool *pool, bool external)
|
||||
return;
|
||||
|
||||
munmap(pool->data, pool->size);
|
||||
+#ifndef MREMAP_MAYMOVE
|
||||
close(pool->mmap_fd);
|
||||
+#endif
|
||||
free(pool);
|
||||
}
|
||||
|
||||
@@ -344,10 +348,14 @@ shm_create_pool(struct wl_client *client, struct wl_resource *resource,
|
||||
strerror(errno));
|
||||
goto err_free;
|
||||
}
|
||||
+#ifndef MREMAP_MAYMOVE
|
||||
/* We may need to keep the fd, prot and flags to emulate mremap(). */
|
||||
pool->mmap_fd = fd;
|
||||
pool->mmap_prot = prot;
|
||||
pool->mmap_flags = flags;
|
||||
+#else
|
||||
+ close(fd);
|
||||
+#endif
|
||||
pool->resource =
|
||||
wl_resource_create(client, &wl_shm_pool_interface, 1, id);
|
||||
if (!pool->resource) {
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 30 22:07:21 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 1.21
|
||||
* This new release adds a new wl_pointer high-resolution scroll
|
||||
event, adds a few new convenience functions, and contains a
|
||||
collection of bug fixes.
|
||||
- Drop wayland-shm-Close-file-descriptors-not-needed.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 24 19:27:57 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
|
@ -15,8 +15,7 @@
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define _version 1.20.0
|
||||
%define _version 1.21.0
|
||||
%if 0%{?suse_version} >= 1500 && 0%{?suse_version} < 1550
|
||||
%define eglversion 99~%_version
|
||||
%else
|
||||
@ -33,12 +32,10 @@ Group: Development/Libraries/C and C++
|
||||
URL: https://wayland.freedesktop.org/
|
||||
#Git-Clone: git://anongit.freedesktop.org/wayland/wayland
|
||||
#Git-Web: http://cgit.freedesktop.org/wayland/wayland/
|
||||
Source: https://wayland.freedesktop.org/releases/%name-%version.tar.xz
|
||||
Source2: https://wayland.freedesktop.org/releases/%name-%version.tar.xz.sig
|
||||
Source: https://gitlab.freedesktop.org/wayland/wayland/-/releases/%version/downloads/wayland-%version.tar.xz
|
||||
Source2: https://gitlab.freedesktop.org/wayland/wayland/-/releases/%version/downloads/wayland-%version.tar.xz.sig
|
||||
Source3: %name.keyring
|
||||
Source4: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM wayland-shm-Close-file-descriptors-not-needed.patch bsc#1194190 alynx.zhou@suse.com -- Close file descriptors not needed to prevent Xwayland crash.
|
||||
Patch1: wayland-shm-Close-file-descriptors-not-needed.patch
|
||||
BuildRequires: c++_compiler
|
||||
BuildRequires: c_compiler
|
||||
BuildRequires: libxml2-tools
|
||||
|
Loading…
Reference in New Issue
Block a user