Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

Commit a96aa99

Browse files
author
MikhailArkhipov
committed
Undo some
1 parent 23973d9 commit a96aa99

2 files changed

Lines changed: 6 additions & 10 deletions

File tree

src/Analysis/Engine/Impl/Intellisense/AnalysisQueue.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ internal sealed class AnalysisQueue : IDisposable {
3131
private static readonly AsyncLocal<AnalysisQueue> _current = new AsyncLocal<AnalysisQueue>();
3232
public static AnalysisQueue Current => _current.Value;
3333

34-
private readonly DisposeToken _disposeToken = DisposeToken.Create<AnalysisQueue>();
3534
private readonly HashSet<IGroupableAnalysisProject> _enqueuedGroups;
3635
private readonly PriorityProducerConsumer<QueueItem> _ppc;
3736
private readonly Task _consumerTask;
@@ -161,7 +160,6 @@ public void Dispose() {
161160
Trace.TraceWarning("Failed to wait for worker thread to terminate");
162161
}
163162
}
164-
_disposeToken.TryMarkDisposed();
165163
}
166164

167165
private struct QueueItem {

src/LanguageServer/Impl/Implementation/Server.cs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,18 @@ public Server() {
9595
_editorFiles = new EditorFiles(this);
9696

9797
_disposableBag
98-
.Add(ProjectFiles)
9998
.Add(() => {
10099
foreach (var ext in _extensions.Values) {
101100
(ext as IDisposable)?.Dispose();
102101
}
103102
foreach (var ext in _oldExtensions.Values) {
104103
(ext as IDisposable)?.Dispose();
105104
}
106-
});
105+
})
106+
.Add(ProjectFiles)
107+
.Add(() => Analyzer?.Dispose())
108+
.Add(AnalysisQueue)
109+
.Add(() => _shutdownCts.Cancel());
107110
}
108111

109112
private void Analysis_UnhandledException(object sender, UnhandledExceptionEventArgs e) {
@@ -118,12 +121,7 @@ private void Analysis_UnhandledException(object sender, UnhandledExceptionEventA
118121
internal ServerSettings Settings { get; private set; } = new ServerSettings();
119122
internal ProjectFiles ProjectFiles { get; } = new ProjectFiles();
120123

121-
public void Dispose() {
122-
_shutdownCts.Cancel();
123-
AnalysisQueue.Dispose();
124-
Analyzer?.Dispose();
125-
_disposableBag.TryDispose();
126-
}
124+
public void Dispose() => _disposableBag.TryDispose();
127125

128126
#region ILogger
129127
public void TraceMessage(IFormattable message) {

0 commit comments

Comments
 (0)