[webkit-changes] [WebKit/WebKit] 971943: [GLib] Process launching hangs if xdg-dbus-proxy i...
Michael Catanzaro
noreply at github.com
Fri Aug 18 06:23:42 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 971943d9b665ace53705eb78bfd31887b9a08eee
https://github.com/WebKit/WebKit/commit/971943d9b665ace53705eb78bfd31887b9a08eee
Author: Michael Catanzaro <mcatanzaro at redhat.com>
Date: 2023-08-18 (Fri, 18 Aug 2023)
Changed paths:
M Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp
Log Message:
-----------
[GLib] Process launching hangs if xdg-dbus-proxy is not installed
https://bugs.webkit.org/show_bug.cgi?id=257905
Reviewed by Carlos Garcia Campos.
Currently if xdg-dbus-proxy is not installed or if it fails to start for
any reason, then after attempting to run it under bwrap, we do a
blocking read() and hang forever waiting for it to respond to us.
Instead, let's simultaneously do an async read while also checking to
see if the subprocess has quit. If it fails to spawn, then we can crash
properly rather than just hang.
Although I have *technically* removed the synchronous I/O, we still need
to block here, so the spirit of the FIXME that hopes to avoid blocking
is not satisfied. Nevertheless, I don't see a realistic path to avoid
blocking, so I'm going to remove the FIXME anyway.
* Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::waitUntilSyncedOrDie):
(WebKit::XDGDBusProxy::launch):
Canonical link: https://commits.webkit.org/267038@main
More information about the webkit-changes
mailing list