Backport fix for waitpid errors
And suggests mutter since this is the default compositor. Resolves: https://issues.redhat.com/browse/RHEL-46355
This commit is contained in:
parent
bce91d12e6
commit
a945603f33
49
0001-wlheadless-Ignore-os.waitpid-1-0-error.patch
Normal file
49
0001-wlheadless-Ignore-os.waitpid-1-0-error.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
From 2f43fc2d1b57c7945576bf2950b236416c0403dd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Niels De Graef <ndegraef@redhat.com>
|
||||||
|
Date: Thu, 4 Jul 2024 17:09:41 +0200
|
||||||
|
Subject: [PATCH] wlheadless: Ignore os.waitpid(-1, 0) error
|
||||||
|
|
||||||
|
There's a chance that all child processes have already stopped running
|
||||||
|
by the time we're cleaning up. If we then try to wait on child processes
|
||||||
|
to finish (using `os.waitpid(-1, 0)`, the function will throw a
|
||||||
|
`ChildProcessError`, which makes the whole script fail, with the
|
||||||
|
following error message:
|
||||||
|
|
||||||
|
```
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/usr/bin/wlheadless-run", line 90, in <module>
|
||||||
|
wlheadless_common.cleanup()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
||||||
|
File "/usr/lib/python3.13/site-packages/wlheadless/wlheadless_common.py", line 151, in cleanup
|
||||||
|
self.__cleanup_tempdir()
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~^^
|
||||||
|
File "/usr/lib/python3.13/site-packages/wlheadless/wlheadless_common.py", line 136, in __cleanup_tempdir
|
||||||
|
os.waitpid(-1, 0)
|
||||||
|
~~~~~~~~~~^^^^^^^
|
||||||
|
ChildProcessError: [Errno 10] No child processes
|
||||||
|
```
|
||||||
|
|
||||||
|
Just ignore the error if it happens.
|
||||||
|
---
|
||||||
|
src/wlheadless/wlheadless_common.py | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/wlheadless/wlheadless_common.py b/src/wlheadless/wlheadless_common.py
|
||||||
|
index 556c0f7..d056f3b 100644
|
||||||
|
--- a/src/wlheadless/wlheadless_common.py
|
||||||
|
+++ b/src/wlheadless/wlheadless_common.py
|
||||||
|
@@ -133,7 +133,10 @@ class WlheadlessCommon:
|
||||||
|
def __cleanup_tempdir(self):
|
||||||
|
""" Removes our temporary XDG_RUNTIME_DIR directory if empty. """
|
||||||
|
if self.xdg_runtime_dir:
|
||||||
|
- os.waitpid(-1, 0)
|
||||||
|
+ try:
|
||||||
|
+ os.waitpid(-1, 0)
|
||||||
|
+ except ChildProcessError:
|
||||||
|
+ pass
|
||||||
|
try:
|
||||||
|
rmtree(self.xdg_runtime_dir)
|
||||||
|
except OSError as error:
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
@ -1,12 +1,15 @@
|
|||||||
Name: xwayland-run
|
Name: xwayland-run
|
||||||
Version: 0.0.4
|
Version: 0.0.4
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Set of utilities to run headless X/Wayland clients
|
Summary: Set of utilities to run headless X/Wayland clients
|
||||||
|
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
URL: https://gitlab.freedesktop.org/ofourdan/xwayland-run
|
URL: https://gitlab.freedesktop.org/ofourdan/xwayland-run
|
||||||
Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2
|
Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2
|
||||||
|
|
||||||
|
# https://gitlab.freedesktop.org/ofourdan/xwayland-run/-/merge_requests/19
|
||||||
|
Patch1: 0001-wlheadless-Ignore-os.waitpid-1-0-error.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
BuildRequires: meson >= 0.60.0
|
BuildRequires: meson >= 0.60.0
|
||||||
@ -16,6 +19,7 @@ Requires: (weston or cage or kwin-wayland or mutter or gnome-kiosk)
|
|||||||
Requires: xorg-x11-server-Xwayland
|
Requires: xorg-x11-server-Xwayland
|
||||||
Requires: xorg-x11-xauth
|
Requires: xorg-x11-xauth
|
||||||
Requires: dbus-daemon
|
Requires: dbus-daemon
|
||||||
|
Suggests: mutter
|
||||||
|
|
||||||
# Provide names of the other utilities included
|
# Provide names of the other utilities included
|
||||||
Provides: wlheadless-run = %{version}-%{release}
|
Provides: wlheadless-run = %{version}-%{release}
|
||||||
@ -53,6 +57,10 @@ Xwayland and various Wayland compositor headless.
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 09 2024 Olivier Fourdan <ofourdan@redhat.com> - 0.0.4-2
|
||||||
|
- Backport fix for waitpid errors (RHEL-46355)
|
||||||
|
- Suggest mutter since this is the default compositor
|
||||||
|
|
||||||
* Mon Jul 1 2024 Olivier Fourdan <ofourdan@redhat.com> - 0.0.4-1
|
* Mon Jul 1 2024 Olivier Fourdan <ofourdan@redhat.com> - 0.0.4-1
|
||||||
- Update to 0.0.4
|
- Update to 0.0.4
|
||||||
- Require xorg-x11-xauth and dbus-daemon
|
- Require xorg-x11-xauth and dbus-daemon
|
||||||
|
Loading…
Reference in New Issue
Block a user