Skip to content

Fix duplicate running manager instance checker on Linux#6893

Merged
AenBleidd merged 1 commit intomasterfrom
vko_fix_single_instance_checker_on_linux
Feb 26, 2026
Merged

Fix duplicate running manager instance checker on Linux#6893
AenBleidd merged 1 commit intomasterfrom
vko_fix_single_instance_checker_on_linux

Conversation

@AenBleidd
Copy link
Member

@AenBleidd AenBleidd commented Feb 26, 2026

Summary by cubic

Fixes duplicate instance detection on Linux by creating the single-instance lock in the system temp directory when running under wxGTK. This prevents multiple BOINC Manager instances from starting for the same user.

Written for commit 10b1e8c. Summary will update on new commits.

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates duplicate-instance detection to avoid multiple BOINC Manager instances on Linux by configuring the wxSingleInstanceChecker to use a deterministic directory.

Changes:

  • Add a __WXGTK__ code path that creates the instance-checker lock in the system temp directory.
  • Update copyright year.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +859 to +863
#elif defined(__WXGTK__)
m_pInstanceChecker = new wxSingleInstanceChecker(
wxTheApp->GetAppName() + '-' + wxGetUserId(),
wxFileName::GetTempDir()
);
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a world-writable temp directory for the instance checker lock can allow another local user/process to pre-create or manipulate the lock file (e.g., denial-of-service, or symlink/path tricks depending on wxWidgets internals). Prefer a per-user, non-world-writable location on Linux (e.g., an XDG runtime/user-specific dir via wxStandardPaths, or a directory under the user’s home/config/data dir) while keeping the app+user-based lock name.

Copilot uses AI. Check for mistakes.
@AenBleidd AenBleidd merged commit 92a3ec3 into master Feb 26, 2026
441 of 442 checks passed
@AenBleidd AenBleidd deleted the vko_fix_single_instance_checker_on_linux branch February 26, 2026 01:55
@github-project-automation github-project-automation bot moved this from In progress to Merged in Client/Manager Feb 26, 2026
@AenBleidd AenBleidd linked an issue Feb 26, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

boinc manager / another instance is already running [Linux] move lockfile to /run Manager: unify wxSingleInstanceChecker() lockfile

2 participants