|
|
|
|
@ -110,7 +110,7 @@ LanguageProtocol::Client::~Client() {
|
|
|
|
|
thread.join(); |
|
|
|
|
|
|
|
|
|
int exit_status = -1; |
|
|
|
|
for(size_t c = 0; c < 20; ++c) { |
|
|
|
|
for(size_t c = 0; c < 10; ++c) { |
|
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500)); |
|
|
|
|
if(process->try_get_exit_status(exit_status)) |
|
|
|
|
break; |
|
|
|
|
@ -368,8 +368,8 @@ void LanguageProtocol::Client::write_request(Source::LanguageProtocolView *view,
|
|
|
|
|
auto message_id = this->message_id; |
|
|
|
|
LockGuard lock(timeout_threads_mutex); |
|
|
|
|
timeout_threads.emplace_back([this, message_id] { |
|
|
|
|
for(size_t c = 0; c < 20; ++c) { |
|
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(50000) * (language_id == "julia" ? 100 : 1)); |
|
|
|
|
for(size_t c = 0; c < 40; ++c) { |
|
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(500) * (language_id == "julia" ? 100 : 1)); |
|
|
|
|
LockGuard lock(read_write_mutex); |
|
|
|
|
auto id_it = handlers.find(message_id); |
|
|
|
|
if(id_it == handlers.end()) |
|
|
|
|
|