Skip to content

Commit 6d504b8

Browse files
authored
Merge pull request #907 from julia-vscode/sp/shutdown
better shutdown handling
2 parents 37fb9bf + 3509797 commit 6d504b8

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/languageserverinstance.jl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,9 @@ function Base.run(server::LanguageServerInstance)
270270
else
271271
Base.display_error(stderr, err, bt)
272272
end
273+
finally
274+
put!(server.combined_msg_queue, (type = :close,))
275+
close(server.combined_msg_queue)
273276
end
274277

275278
@async try
@@ -284,6 +287,9 @@ function Base.run(server::LanguageServerInstance)
284287
else
285288
Base.display_error(stderr, err, bt)
286289
end
290+
finally
291+
put!(server.combined_msg_queue, (type = :close,))
292+
close(server.combined_msg_queue)
287293
end
288294

289295
msg_dispatcher = JSONRPC.MsgDispatcher()
@@ -324,7 +330,10 @@ function Base.run(server::LanguageServerInstance)
324330
while true
325331
message = take!(server.combined_msg_queue)
326332

327-
if message.type == :clientmsg
333+
if message.type == :close
334+
@info "Shutting down server instance."
335+
return
336+
elseif message.type == :clientmsg
328337
msg = message.msg
329338

330339
JSONRPC.dispatch_msg(server.jr_endpoint, msg_dispatcher, msg)

0 commit comments

Comments
 (0)