File tree Expand file tree Collapse file tree 3 files changed +12
-0
lines changed
elixir_ls_debugger/lib/debugger
language_server/lib/language_server Expand file tree Collapse file tree 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
88 { :ok , _ } = Application . ensure_all_started ( :elixir_ls_debugger , :permanent )
99 IO . puts ( "Started ElixirLS debugger v#{ Launch . debugger_version ( ) } " )
1010 Launch . print_versions ( )
11+ Launch . limit_num_schedulers ( )
1112 warn_if_unsupported_version ( )
1213 WireProtocol . stream_packets ( & Server . receive_packet / 1 )
1314 end
Original file line number Diff line number Diff line change @@ -31,6 +31,16 @@ defmodule ElixirLS.Utils.Launch do
3131 get_version ( :elixir_ls_debugger )
3232 end
3333
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+
3444 defp get_version ( app ) do
3545 case :application . get_key ( app , :vsn ) do
3646 { :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
1010
1111 IO . puts ( "Started ElixirLS v#{ Launch . language_server_version ( ) } " )
1212 Launch . print_versions ( )
13+ Launch . limit_num_schedulers ( )
1314
1415 Mix . shell ( ElixirLS.LanguageServer.MixShell )
1516 # FIXME: Private API
You can’t perform that action at this time.
0 commit comments