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));
25 references to FileLock
Aspire.Dashboard (25)
ServiceClient\DashboardRunStore.cs (19)
89private readonly FileLock? _runLock; 144var runLock = OpenRequiredRunLock( 165var resumeRunLock = OpenRequiredRunLock( 227using var runLock = TryOpenRunLock(directory); 283using var runLock = FileLock.TryAcquire(lockPath); 316using var runLock = storedRun.IsCurrent || storedRun.IsLeased 385var runLock = TryOpenRunLock(runDirectory); 429using var runLock = TryOpenRunLock(directory); 520using var runLock = TryOpenRunLock(directory); 558private static FileLock OpenRunLock(string runDirectory) 561return FileLock.Acquire(GetRunLockPath(runDirectory)); 564private static FileLock OpenRequiredRunLock(string runDirectory, string errorMessage) 576private static FileLock? TryOpenRunLock(string runDirectory) 578var runLock = FileLock.TryAcquire(GetRunLockPath(runDirectory)); 667private sealed class RunLease(DashboardRunStore owner, DashboardRunDescriptor run, FileLock runLock) : IDisposable 669private FileLock? _runLock = runLock; 675var 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)