LSP: use asynchronous shutdown for running servers

Change-Id: I3b1853177d07c98e051de0bc9f494389fbf4c104
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
David Schulz
2018-09-13 15:31:00 +02:00
parent 41dee83bec
commit 5ef4530b8f
4 changed files with 48 additions and 6 deletions

View File

@@ -70,6 +70,13 @@ public:
static void deleteClient(BaseClient *client);
static void shutdown();
static LanguageClientManager *instance();
signals:
void shutdownFinished();
private:
LanguageClientManager();
LanguageClientManager(const LanguageClientManager &other) = delete;
@@ -90,6 +97,7 @@ private:
void clientFinished(BaseClient *client);
bool m_shuttingDown = false;
QVector<BaseClient *> m_clients;
QHash<Utils::FileName, QHash<Core::Id, QVector<LanguageClientMark *>>> m_marks;
QHash<LanguageServerProtocol::MessageId, QList<BaseClient *>> m_exclusiveRequests;