File tree 3 files changed +12
-0
lines changed
elixir_ls_debugger/lib/debugger
language_server/lib/language_server
3 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ defmodule ElixirLS.Debugger.CLI do
8
8
{ :ok , _ } = Application . ensure_all_started ( :elixir_ls_debugger , :permanent )
9
9
IO . puts ( "Started ElixirLS debugger v#{ Launch . debugger_version ( ) } " )
10
10
Launch . print_versions ( )
11
+ Launch . limit_num_schedulers ( )
11
12
warn_if_unsupported_version ( )
12
13
WireProtocol . stream_packets ( & Server . receive_packet / 1 )
13
14
end
Original file line number Diff line number Diff line change @@ -31,6 +31,16 @@ defmodule ElixirLS.Utils.Launch do
31
31
get_version ( :elixir_ls_debugger )
32
32
end
33
33
34
+ def limit_num_schedulers do
35
+ case System . schedulers_online ( ) do
36
+ num_schedulers when num_schedulers >= 4 ->
37
+ :erlang . system_flag ( :schedulers_online , num_schedulers - 2 )
38
+
39
+ _ ->
40
+ :ok
41
+ end
42
+ end
43
+
34
44
defp get_version ( app ) do
35
45
case :application . get_key ( app , :vsn ) do
36
46
{ :ok , version } -> List . to_string ( version )
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ defmodule ElixirLS.LanguageServer.CLI do
10
10
11
11
IO . puts ( "Started ElixirLS v#{ Launch . language_server_version ( ) } " )
12
12
Launch . print_versions ( )
13
+ Launch . limit_num_schedulers ( )
13
14
14
15
Mix . shell ( ElixirLS.LanguageServer.MixShell )
15
16
# FIXME: Private API
You can’t perform that action at this time.
0 commit comments