Title: [295349] trunk/Tools/flatpak/flatpakutils.py
Revision
295349
Author
[email protected]
Date
2022-06-07 09:13:20 -0700 (Tue, 07 Jun 2022)

Log Message

[WPE][GTK] xdg-dbus-proxy process sometimes go zombie
https://bugs.webkit.org/show_bug.cgi?id=241317

Patch by Philippe Normand <[email protected]> on 2022-06-07
Reviewed by Adrian Perez de Castro and Xabier Rodriguez-Calvar.

The atexit hook seems problematic for subprocesses, so try to kill the xdg-dbus-proxy process from
the WebKitFlatpak destructor instead.

* Tools/flatpak/flatpakutils.py:
(WebkitFlatpak.__init__):
(WebkitFlatpak):
(WebkitFlatpak.__del__):
(WebkitFlatpak.setup_a11y_proxy):

Canonical link: https://commits.webkit.org/251364@main

Modified Paths

Diff

Modified: trunk/Tools/flatpak/flatpakutils.py (295348 => 295349)


--- trunk/Tools/flatpak/flatpakutils.py	2022-06-07 15:40:54 UTC (rev 295348)
+++ trunk/Tools/flatpak/flatpakutils.py	2022-06-07 16:13:20 UTC (rev 295349)
@@ -577,6 +577,12 @@
         self.sccache_token = ""
         self.sccache_scheduler = DEFAULT_SCCACHE_SCHEDULER
 
+        self.dbus_proxy_process = None
+
+    def __del__(self):
+        if self.dbus_proxy_process:
+            self.dbus_proxy_process.kill()
+
     def execute_command(self, args, stdout=None, stderr=None, env=None, keep_signals=True):
         if keep_signals:
             ctx_manager = nullcontext()
@@ -755,9 +761,7 @@
         self.a11y_socket = tempfile.NamedTemporaryFile(dir=self.socket_dir.name, delete=False)
 
         try:
-            proxy_proc = subprocess.Popen((dbus_proxy_path, a11y_bus_address, self.a11y_socket.name))
-
-            atexit.register(lambda: proxy_proc.terminate())
+            self.dbus_proxy_process = subprocess.Popen((dbus_proxy_path, a11y_bus_address, self.a11y_socket.name, "--talk=org.a11y.Bus"), close_fds=True)
         except (subprocess.CalledProcessError) as e:
             _log.warning("Failed to run xdg-dbus-proxy {}. Can't forward a11y bus.".format(e))
             return []
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to