3 instantiations of FileLock
Aspire.Dashboard (3)
src\Shared\FileLock.cs (3)
49return new FileLock(CreateLockStream(lockPath)); 68return new FileLock(CreateLockStream(lockPath)); 119return new FileLock(CreateLockStream(lockPath));
23 references to FileLock
Aspire.Dashboard (23)
ServiceClient\DashboardRunStore.cs (17)
83private readonly FileLock? _runLock; 138var runLock = OpenRequiredRunLock( 159var resumeRunLock = OpenRequiredRunLock( 221using var runLock = TryOpenRunLock(directory); 273using var runLock = storedRun.IsCurrent || storedRun.IsLeased 341var runLock = TryOpenRunLock(runDirectory); 383using var runLock = TryOpenRunLock(directory); 468using var runLock = TryOpenRunLock(directory); 506private static FileLock OpenRunLock(string runDirectory) 509return FileLock.Acquire(GetRunLockPath(runDirectory)); 512private static FileLock OpenRequiredRunLock(string runDirectory, string errorMessage) 524private static FileLock? TryOpenRunLock(string runDirectory) 526var runLock = FileLock.TryAcquire(GetRunLockPath(runDirectory)); 614private sealed class RunLease(DashboardRunStore owner, DashboardRunDescriptor run, FileLock runLock) : IDisposable 616private FileLock? _runLock = runLock; 622var runLock = Interlocked.Exchange(ref _runLock, null);
src\Shared\FileLock.cs (6)
45public static FileLock Acquire(string lockPath) 57/// <returns>A <see cref="FileLock"/> that releases the lock when disposed.</returns> 59public static FileLock Acquire(string lockPath, TimeSpan timeout) 85public static FileLock? TryAcquire(string lockPath) 104/// <returns>A <see cref="FileLock"/> that releases the lock when disposed.</returns> 106public static async Task<FileLock> AcquireAsync(string lockPath, CancellationToken cancellationToken = default, TimeSpan? timeout = null)