Explicitly close release signal file. (#12057)

This commit is contained in:
Paul Johnson
2022-02-25 10:56:45 +00:00
committed by GitHub
parent 4351ce6ee4
commit 4a6c409a1f
2 changed files with 19 additions and 7 deletions

View File

@@ -68,7 +68,8 @@ namespace Umbraco.Cms.Infrastructure.Runtime
}
public void CreateLockReleaseSignalFile() =>
_ = File.Open(_releaseSignalFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite | FileShare.Delete);
File.Open(_releaseSignalFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite | FileShare.Delete)
.Close();
public void DeleteLockReleaseSignalFile() =>
File.Delete(_releaseSignalFilePath);

View File

@@ -1,4 +1,5 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
@@ -44,13 +45,23 @@ namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Runtime
[TearDown]
public void TearDown()
{
while (File.Exists(LockFilePath))
CleanupTestFile(LockFilePath);
CleanupTestFile(LockReleaseFilePath);
}
private static void CleanupTestFile(string path)
{
for (var i = 0; i < 3; i++)
{
File.Delete(LockFilePath);
}
while (File.Exists(LockReleaseFilePath))
{
File.Delete(LockReleaseFilePath);
try
{
File.Delete(path);
return;
}
catch
{
Thread.Sleep(500 * (i + 1));
}
}
}