atomic_load(Modules) -> ok | {error, [{Module, What}]}
OTP 19.0
類型:
Modules = [Module | {Module, Filename, Binary}]
Module = module()
Filename = file:filename()
Binary = binary()
What =
badfile | nofile | on_load_not_allowed | duplicated |
not_purged | sticky_directory | pending_on_load
嘗試以原子方式加載列表 Modules
中的所有模塊。這意味著或者同時加載所有模塊,或者如果任何模塊出現問題則不會加載任何模塊。
由於以下原因之一,加載可能會失敗:
badfile
-
目標代碼的格式不正確或目標代碼中的模塊名稱不是預期的模塊名稱。
nofile
-
不存在帶有目標代碼的文件。
on_load_not_allowed
-
一個模塊包含一個-on_load函數.
duplicated
-
一個模塊多次包含在
Modules
中。 not_purged
-
無法加載目標代碼,因為舊版本的代碼已存在。
sticky_directory
-
目標代碼駐留在粘性目錄中。
pending_on_load
-
先前加載的模塊包含從未完成的
-on_load
函數。
如果在更改代碼時最小化應用程序不活動的時間很重要,請使用prepare_loading/1和finish_loading/1代替atomic_load/1
。這是一個例子:
{ok,Prepared} = code:prepare_loading(Modules),
%% Put the application into an inactive state or do any
%% other preparation needed before changing the code.
ok = code:finish_loading(Prepared),
%% Resume the application.
相關用法
- erlang atom_to_list用法及代碼示例
- erlang atom_to_binary用法及代碼示例
- erlang atom_to_binary(Atom, Encoding)用法及代碼示例
- erlang atom_to_list(Atom)用法及代碼示例
- erlang atan用法及代碼示例
- erlang asin用法及代碼示例
- erlang acos用法及代碼示例
- erlang abs用法及代碼示例
- erlang all用法及代碼示例
- erlang any用法及代碼示例
- erlang append用法及代碼示例
- erlang absname(Filename)用法及代碼示例
- erlang abs(Float)用法及代碼示例
- erlang adler32(OldAdler, Data)用法及代碼示例
- erlang adler32_combine(FirstAdler, SecondAdler, SecondSize)用法及代碼示例
- erlang alias()用法及代碼示例
- erlang append_element(Tuple1, Term)用法及代碼示例
- erlang apply(Module, Function, Args)用法及代碼示例
- erlang allocations(Options)用法及代碼示例
- erlang all(Pred, Q :: queue(Item))用法及代碼示例
- erlang any(Pred, Q :: queue(Item))用法及代碼示例
- erlang append(Key, Value, Orddict1)用法及代碼示例
- erlang append_list(Key, ValList, Orddict1)用法及代碼示例
- erlang add_handlers(HandlerConfig)用法及代碼示例
- erlang adler32(Z, PrevAdler, Data)用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 atomic_load(Modules) -> ok | {error, [{Module, What}]}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。