From 7af55bef9c6a8628c9c14c6587ed3b888addc7de Mon Sep 17 00:00:00 2001 From: Lukas Geiger Date: Tue, 26 Dec 2017 13:04:52 +0100 Subject: [PATCH] Force server shutdown after 2 seconds See https://github.com/atom/ide-typescript/commit/d9d259214c7b73d062878b60d68e2c1bc168c721 --- lib/main.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/main.js b/lib/main.js index 301798c1..7a17012f 100644 --- a/lib/main.js +++ b/lib/main.js @@ -74,6 +74,22 @@ class PythonLanguageClient extends AutoLanguageClient { if (!PYTHON_REGEX.test(request.prefix)) return null; return super.getSuggestions(request); } + + deactivate() { + return Promise.race([super.deactivate(), this.createTimeoutPromise(2000)]); + } + + createTimeoutPromise(milliseconds) { + return new Promise((resolve, reject) => { + let timeout = setTimeout(() => { + clearTimeout(timeout); + this.logger.error( + `Server failed to shutdown in ${milliseconds}ms, forcing termination` + ); + resolve(); + }, milliseconds); + }); + } } module.exports = new PythonLanguageClient();