Make instance checker path globally writable

On Linux, this directory is shared between users, so a multi-user
machine needs to let the other users have access to the directory to
create their own lockfiles.
This commit is contained in:
Ian McInerney 2024-02-18 14:47:34 +00:00 committed by Ian McInerney
parent 9e597ea754
commit 921358b096
1 changed files with 7 additions and 0 deletions

View File

@ -492,8 +492,15 @@ bool PGM_BASE::InitPgm( bool aHeadless, bool aSkipPyInit, bool aIsUnitTest )
}
#endif
// Ensure the instance checker directory exists
// It should be globally writable because it is shared between all users on Linux, and so on a
// multi-user machine, other need to be able to access it to check for the lock files or make
// their own lock files.
wxString instanceCheckerDir = PATHS::GetInstanceCheckerPath();
PATHS::EnsurePathExists( instanceCheckerDir );
wxChmod( instanceCheckerDir, wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE |
wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | wxPOSIX_GROUP_EXECUTE |
wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE | wxPOSIX_OTHERS_EXECUTE );
wxString instanceCheckerName = wxString::Format( wxS( "%s-%s" ), pgm_name,
GetMajorMinorVersion() );