mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-03-26 21:33:12 +00:00
* dconf: Skip processes that disappeared while we inspected them
Fixes #4151
* Update changelogs/fragments/4151-dconf-catch-psutil-nosuchprocess.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9567c99c9f)
Co-authored-by: Pavol Babinčák <scroolik@gmail.com>
This commit is contained in:
@@ -180,9 +180,9 @@ class DBusWrapper(object):
|
||||
self.module.debug("Trying to detect existing D-Bus user session for user: %d" % uid)
|
||||
|
||||
for pid in psutil.pids():
|
||||
process = psutil.Process(pid)
|
||||
process_real_uid, dummy, dummy = process.uids()
|
||||
try:
|
||||
process = psutil.Process(pid)
|
||||
process_real_uid, dummy, dummy = process.uids()
|
||||
if process_real_uid == uid and 'DBUS_SESSION_BUS_ADDRESS' in process.environ():
|
||||
dbus_session_bus_address_candidate = process.environ()['DBUS_SESSION_BUS_ADDRESS']
|
||||
self.module.debug("Found D-Bus user session candidate at address: %s" % dbus_session_bus_address_candidate)
|
||||
@@ -198,6 +198,9 @@ class DBusWrapper(object):
|
||||
# This can happen with things like SSH sessions etc.
|
||||
except psutil.AccessDenied:
|
||||
pass
|
||||
# Process has disappeared while inspecting it
|
||||
except psutil.NoSuchProcess:
|
||||
pass
|
||||
|
||||
self.module.debug("Failed to find running D-Bus user session, will use dbus-run-session")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user