1
1
-module (elixir_compiler ).
2
- -export ([get_opts /0 , get_opt /1 , get_opt /2 , string /2 , file /1 , file_to_path /2 ]).
2
+ -export ([get_opts /0 , get_opt /1 , get_opt /2 , string /2 , file /1 , file_to_path /2 , get_timeout / 0 ]).
3
3
-export ([core /0 , module /3 , eval_forms /4 ]).
4
4
-include (" elixir.hrl" ).
5
5
-compile ({parse_transform , elixir_transform }).
@@ -16,8 +16,14 @@ get_opt(Key, Dict) ->
16
16
{ Key , Value } -> Value
17
17
end .
18
18
19
+ get_timeout () ->
20
+ case application :get_env (elixir , system_services_timeout ) of
21
+ {ok , Val } -> Val ;
22
+ undefined -> 60000
23
+ end .
24
+
19
25
get_opts () ->
20
- gen_server :call (elixir_code_server , compiler_options ).
26
+ gen_server :call (elixir_code_server , compiler_options , get_timeout () ).
21
27
22
28
% % Compiles the given string.
23
29
@@ -107,7 +113,7 @@ module(Forms, File, Options, Bootstrap, Callback) when
107
113
108
114
core () ->
109
115
application :start (elixir ),
110
- gen_server :call (elixir_code_server , { compiler_options , [{docs ,false },{internal ,true }] }),
116
+ gen_server :call (elixir_code_server , { compiler_options , [{docs ,false },{internal ,true }] }, get_timeout () ),
111
117
[core_file (File ) || File <- core_main ()].
112
118
113
119
% % HELPERS
@@ -139,7 +145,7 @@ module_form(Fun, Exprs, Line, File, Module, Vars) when
139
145
% % Generate module names from code server.
140
146
141
147
retrieve_module_name () ->
142
- gen_server :call (elixir_code_server , retrieve_module_name ).
148
+ gen_server :call (elixir_code_server , retrieve_module_name , get_timeout () ).
143
149
144
150
return_module_name (I ) ->
145
151
gen_server :cast (elixir_code_server , { return_module_name , I }).
@@ -207,4 +213,4 @@ format_errors(File, Errors) ->
207
213
format_warnings (Bootstrap , File , Warnings ) ->
208
214
lists :foreach (fun ({_ , Each }) ->
209
215
lists :foreach (fun (Warning ) -> elixir_errors :handle_file_warning (Bootstrap , File , Warning ) end , Each )
210
- end , Warnings ).
216
+ end , Warnings ).
0 commit comments