diff options
| author | Daniil Fedotov <hairyhum@gmail.com> | 2017-03-14 17:13:22 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-14 17:13:22 +0000 |
| commit | a47be165587bc180398a6670d2cc72fdaaf92233 (patch) | |
| tree | c2040b8327ea7aba9819011252c08eae105db061 /src | |
| parent | 0488e1df09ca3f90d52aca69a983c34a9843fc0c (diff) | |
| parent | 2f909df3dc3750f8cb6b1a9854c2ccd6ff6c661a (diff) | |
| download | rabbitmq-server-git-a47be165587bc180398a6670d2cc72fdaaf92233.tar.gz | |
Merge pull request #1144 from rabbitmq/rabbitmq-cli-178
rabbit_hipe:compile_to_directory/1 should coerce argument to list
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_hipe.erl | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/rabbit_hipe.erl b/src/rabbit_hipe.erl index 6957d85cb4..bb13a3baf4 100644 --- a/src/rabbit_hipe.erl +++ b/src/rabbit_hipe.erl @@ -37,9 +37,13 @@ hipe_compile() -> hipe_compile(fun compile_and_load/1, false). compile_to_directory(Dir0) -> - Dir = rabbit_file:filename_as_a_directory(Dir0), - ok = prepare_ebin_directory(Dir), - hipe_compile(fun (Mod) -> compile_and_save(Mod, Dir) end, true). + Dir = rabbit_file:filename_as_a_directory(rabbit_data_coercion:to_list(Dir0)), + case prepare_ebin_directory(Dir) of + ok -> + hipe_compile(fun (Mod) -> compile_and_save(Mod, Dir) end, true); + {error, Err} -> + {error, Err} + end. needs_compilation(Mod, Force) -> Exists = code:which(Mod) =/= non_existing, @@ -110,9 +114,13 @@ split0([], Ls) -> Ls; split0([I | Is], [L | Ls]) -> split0(Is, Ls ++ [[I | L]]). prepare_ebin_directory(Dir) -> - ok = rabbit_file:ensure_dir(Dir), - ok = delete_beam_files(Dir), - ok. + case rabbit_file:ensure_dir(Dir) of + ok -> + ok = delete_beam_files(Dir), + ok; + {error, eperm} -> + {error, eperm} + end. delete_beam_files(Dir) -> {ok, Files} = file:list_dir(Dir), |
