2 instantiations of FileLock
Aspire.Dashboard (2)
src\Shared\FileLock.cs (2)
49return new FileLock(CreateLockStream(lockPath)); 89return new FileLock(CreateLockStream(lockPath));
20 references to FileLock
Aspire.Dashboard (20)
ServiceClient\DashboardRunStore.cs (16)
82private readonly FileLock? _runLock; 143var resumeRunLock = OpenRequiredRunLock( 205using var runLock = TryOpenRunLock(directory); 257using var runLock = storedRun.IsCurrent || storedRun.IsLeased 325var runLock = TryOpenRunLock(runDirectory); 360using var runLock = TryOpenRunLock(directory); 445using var runLock = TryOpenRunLock(directory); 483private static FileLock OpenRunLock(string runDirectory) 486return FileLock.Acquire(GetRunLockPath(runDirectory)); 489private static FileLock OpenRequiredRunLock(string runDirectory, string errorMessage) 501private static FileLock? TryOpenRunLock(string runDirectory) 503var runLock = FileLock.TryAcquire(GetRunLockPath(runDirectory)); 587private sealed class RunLease(DashboardRunStore owner, DashboardRunDescriptor run, FileLock runLock) : IDisposable 589private FileLock? _runLock = runLock; 595var runLock = Interlocked.Exchange(ref _runLock, null);
src\Shared\FileLock.cs (4)
45public static FileLock Acquire(string lockPath) 55public static FileLock? TryAcquire(string lockPath) 74/// <returns>A <see cref="FileLock"/> that releases the lock when disposed.</returns> 76public static async Task<FileLock> AcquireAsync(string lockPath, CancellationToken cancellationToken = default, TimeSpan? timeout = null)