Also chmod the directory for CrossProcessFileBasedSemaphore

This commit is contained in:
JustArchi
2020-05-21 23:31:07 +02:00
parent 42b59cd066
commit 1c18fab68e

View File

@@ -153,14 +153,34 @@ namespace ArchiSteamFarm.Helpers {
}
private void EnsureFileExists() {
Directory.CreateDirectory(Path.GetDirectoryName(FilePath));
FileInfo fileInfo = new FileInfo(FilePath);
if (fileInfo.Exists) {
return;
}
string directoryPath = Path.GetDirectoryName(FilePath);
if (string.IsNullOrEmpty(directoryPath)) {
ASF.ArchiLogger.LogNullError(nameof(directoryPath));
return;
}
DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath);
if (!directoryInfo.Exists) {
Directory.CreateDirectory(directoryPath);
if (OS.IsUnix) {
OS.UnixSetFileAccess(directoryPath, OS.EUnixPermission.Combined777);
} else {
DirectorySecurity directorySecurity = new DirectorySecurity(FilePath, AccessControlSections.All);
directoryInfo.SetAccessControl(directorySecurity);
}
}
try {
using (new FileStream(FilePath, FileMode.CreateNew)) { }