/// <summary> /// Shuts down the queue, stops accepting new messages, and cancels any in-progress or queued tasks. Calling /// this multiple times won't cause any issues. /// </summary> public void Shutdown() { _cancelSource.Cancel(); DrainQueue(); _requestTelemetryLogger.Dispose(); _lspWorkspaceManager.Dispose(); }
private void ShutdownRequestQueue() { _queue.RequestServerShutdown -= RequestExecutionQueue_Errored; // if the queue requested shutdown via its event, it will have already shut itself down, but this // won't cause any problems calling it again _queue.Shutdown(); _requestTelemetryLogger.Dispose(); }