fix(single-instance): explicitly D-Bus name replacement #2860
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix D-Bus name replacement logic on Linux to prevent multiple instances from acquiring the same well-known name.
This patch updates the
zbus
dependency to the latest compatible version (^5.9
) and explicitly setsRequestNameFlags
to ensure a second instance fails to acquire the D-Bus name when another one is already running.This resolves an issue with previous versions of
zbus
resulting in deadlocks in connection name request tasks (see dbus2/zbus#1431). The new default behavior of the library allows name replacement (by settingReplaceExisting
andDoNotQueue
flags, so we're explicitly disabling this behavior to ensure only a single instance can be spawned.