Compare commits
No commits in common. "rawhide" and "f40" have entirely different histories.
3 changed files with 121 additions and 17 deletions
116
264.patch
Normal file
116
264.patch
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
From f3d6ebac35301d4ad068e307f0fbe6aa12ccbccb Mon Sep 17 00:00:00 2001
|
||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Date: Fri, 9 Aug 2024 09:21:31 +0200
|
||||
Subject: [PATCH 1/2] Close xcb connection after freeing display structure
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Commit 1472048b7 to fix a colormap threading issue added a display
|
||||
lock/unlock and a call to SyncHandle() to _XcmsFreeClientCmaps().
|
||||
|
||||
When running synchronized, that means calling XSync().
|
||||
|
||||
_XcmsFreeClientCmaps() is called from _XFreeDisplayStructure() via
|
||||
XCloseDisplay() after the xcb connection is closed.
|
||||
|
||||
So when running synchronized, we may end up calling XSync() after the
|
||||
xcb connection to the display is closed, which will generate a spurious
|
||||
XIO error:
|
||||
|
||||
| #0 in _XDefaultIOError () at /lib64/libX11.so.6
|
||||
| #1 in _XIOError () at /lib64/libX11.so.6
|
||||
| #2 in _XReply () at /lib64/libX11.so.6
|
||||
| #3 in XSync () at /lib64/libX11.so.6
|
||||
| #4 in _XSyncFunction () at /lib64/libX11.so.6
|
||||
| 8#5 in _XFreeDisplayStructure () at /lib64/libX11.so.6
|
||||
| 8#6 in XCloseDisplay () at /lib64/libX11.so.6
|
||||
|
||||
To avoid that issue, closed the xcb connection to the display last.
|
||||
|
||||
v2: And same in OutOfMemory() as well (José Expósito)
|
||||
|
||||
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Reviewed-by: José Expósito <jexposit@redhat.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/264>
|
||||
---
|
||||
src/ClDisplay.c | 4 +++-
|
||||
src/OpenDis.c | 7 +++++--
|
||||
2 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/ClDisplay.c b/src/ClDisplay.c
|
||||
index aa904e51..31d3a841 100644
|
||||
--- a/src/ClDisplay.c
|
||||
+++ b/src/ClDisplay.c
|
||||
@@ -47,6 +47,7 @@ XCloseDisplay (
|
||||
{
|
||||
register _XExtension *ext;
|
||||
register int i;
|
||||
+ xcb_connection_t *connection;
|
||||
|
||||
if (!(dpy->flags & XlibDisplayClosing))
|
||||
{
|
||||
@@ -68,7 +69,8 @@ XCloseDisplay (
|
||||
if (X_DPY_GET_REQUEST(dpy) != X_DPY_GET_LAST_REQUEST_READ(dpy))
|
||||
XSync(dpy, 1);
|
||||
}
|
||||
- xcb_disconnect(dpy->xcb->connection);
|
||||
+ connection = dpy->xcb->connection;
|
||||
_XFreeDisplayStructure (dpy);
|
||||
+ xcb_disconnect(connection);
|
||||
return 0;
|
||||
}
|
||||
diff --git a/src/OpenDis.c b/src/OpenDis.c
|
||||
index 89a0ebdf..6cc43ba3 100644
|
||||
--- a/src/OpenDis.c
|
||||
+++ b/src/OpenDis.c
|
||||
@@ -709,7 +709,10 @@ void _XFreeDisplayStructure(Display *dpy)
|
||||
|
||||
static void OutOfMemory(Display *dpy)
|
||||
{
|
||||
- if(dpy->xcb->connection)
|
||||
- xcb_disconnect(dpy->xcb->connection);
|
||||
+ xcb_connection_t *connection = dpy->xcb->connection;
|
||||
+
|
||||
_XFreeDisplayStructure (dpy);
|
||||
+
|
||||
+ if(connection)
|
||||
+ xcb_disconnect(connection);
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 19b2f5c2d0935cbf9c17ecf30604f80592807b59 Mon Sep 17 00:00:00 2001
|
||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Date: Fri, 9 Aug 2024 10:24:13 +0200
|
||||
Subject: [PATCH 2/2] Fix indentation
|
||||
|
||||
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/264>
|
||||
---
|
||||
src/OpenDis.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/OpenDis.c b/src/OpenDis.c
|
||||
index 6cc43ba3..9c06d388 100644
|
||||
--- a/src/OpenDis.c
|
||||
+++ b/src/OpenDis.c
|
||||
@@ -709,10 +709,10 @@ void _XFreeDisplayStructure(Display *dpy)
|
||||
|
||||
static void OutOfMemory(Display *dpy)
|
||||
{
|
||||
- xcb_connection_t *connection = dpy->xcb->connection;
|
||||
+ xcb_connection_t *connection = dpy->xcb->connection;
|
||||
|
||||
- _XFreeDisplayStructure (dpy);
|
||||
+ _XFreeDisplayStructure (dpy);
|
||||
|
||||
- if(connection)
|
||||
- xcb_disconnect(connection);
|
||||
+ if (connection)
|
||||
+ xcb_disconnect(connection);
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
||||
20
libX11.spec
20
libX11.spec
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
Summary: Core X11 protocol client library
|
||||
Name: libX11
|
||||
Version: 1.8.12
|
||||
Version: 1.8.10
|
||||
Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||
License: MIT AND X11
|
||||
URL: http://www.x.org
|
||||
|
|
@ -20,6 +20,9 @@ Source0: https://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.
|
|||
|
||||
Patch2: dont-forward-keycode-0.patch
|
||||
|
||||
# https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/264
|
||||
Patch: 264.patch
|
||||
|
||||
BuildRequires: libtool
|
||||
BuildRequires: make
|
||||
BuildRequires: xorg-x11-util-macros >= 1.11
|
||||
|
|
@ -123,21 +126,6 @@ make %{?_smp_mflags} check
|
|||
%{_mandir}/man5/*.5*
|
||||
|
||||
%changelog
|
||||
* Mon Dec 22 2025 Peter Hutterer <peter.hutterer@redhat.com> - 1.8.12-2
|
||||
- Rebuild to pick up latest xorg proto keysyms (#2413818)
|
||||
|
||||
* Thu Jul 24 2025 Olivier Fourdan <ofourdan@redhat.com> - 1.8.12-1
|
||||
- libX11 1.8.12
|
||||
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.11-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Mon Feb 03 2025 José Expósito <jexposit@redhat.com> - 1.8.11-1
|
||||
- libX11 1.8.11
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.10-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Thu Aug 22 2024 Florian Müllner <fmuellner@redhat.com> - 1.8.10-2
|
||||
- Fix spurious Xerror when running synchronized
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (libX11-1.8.12.tar.xz) = cb7a284d9081a8b67f7d8568d56dc403a4b787e46ac497b07768d236084c01f80f4ea2ebd814f950ac9738adc3baea3912932fc333858195c4f8217744b6f730
|
||||
SHA512 (libX11-1.8.10.tar.xz) = f801f5b77cbc55074f73dc95b29fff7b5e1b13b99641f6e397788ad9f31a29793ed4e8e5bd373122c790ef90627e8f9d6d5e271051c1767a479a85c55cd82bc1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue