aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2016-03-10 15:36:04 +0100
committerBjörn Gustavsson <[email protected]>2016-03-17 10:20:00 +0100
commitc3c61822727939b8cad8f9a132602ac015820b93 (patch)
tree69ab7fdff89ed665d1936cfb12f9d9b933d671cd
parent46aed30f8afbddd31f82e9b7a50a536a295f5eaa (diff)
downloadotp-c3c61822727939b8cad8f9a132602ac015820b93.tar.gz
otp-c3c61822727939b8cad8f9a132602ac015820b93.tar.bz2
otp-c3c61822727939b8cad8f9a132602ac015820b93.zip
systools_make: Add commonly used modules to mandatory_modules/0
Add commonly used modules to the list of modules in mandatory_modules/0. Having those modules listed will potentially help the 'init' module to load them in parallel during start-up.
-rw-r--r--lib/sasl/src/systools_make.erl39
1 files changed, 30 insertions, 9 deletions
diff --git a/lib/sasl/src/systools_make.erl b/lib/sasl/src/systools_make.erl
index d207dc15bb..154374cd8c 100644
--- a/lib/sasl/src/systools_make.erl
+++ b/lib/sasl/src/systools_make.erl
@@ -1453,16 +1453,37 @@ behave([H|T]) ->
behave([]) ->
[].
-%%______________________________________________________________________
-%% mandatory modules; this modules must be loaded before processes
-%% can be started. These are a collection of modules from the kernel
-%% and stdlib applications.
-%% Nowadays, error_handler dynamically loads almost every module.
-%% The error_handler self must still be there though.
-
mandatory_modules() ->
- %% Sorted
- [error_handler].
+ [error_handler, %Truly mandatory.
+
+ %% Modules that are almost always needed. Listing them here
+ %% helps the init module to load them faster. Modules not
+ %% listed here will be loaded by the error_handler module.
+ %%
+ %% Keep this list sorted.
+ application,
+ application_controller,
+ application_master,
+ code,
+ code_server,
+ erl_eval,
+ erl_lint,
+ erl_parse,
+ error_logger,
+ ets,
+ file,
+ filename,
+ file_server,
+ file_io_server,
+ gen,
+ gen_event,
+ gen_server,
+ heart,
+ kernel,
+ lists,
+ proc_lib,
+ supervisor
+ ].
%%______________________________________________________________________
%% This is the modules that are preloaded into the Erlang system.