mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 03:00:17 +00:00
Skip erlang:halt/1 workaround if >=R15B01
This commit is contained in:
parent
769160ac36
commit
3f14c1c092
1 changed files with 16 additions and 7 deletions
|
@ -293,14 +293,23 @@ deprecated(Old, New, When) ->
|
|||
|
||||
-spec delayed_halt(integer()) -> no_return().
|
||||
delayed_halt(Code) ->
|
||||
case os:type() of
|
||||
{win32, nt} ->
|
||||
timer:sleep(100),
|
||||
%% Work around buffer flushing issue in erlang:halt if OTP older
|
||||
%% than R15B01.
|
||||
%% TODO: remove workaround once we require R15B01 or newer
|
||||
%% R15B01 introduced erlang:halt/2
|
||||
case erlang:is_builtin(erlang, halt, 2) of
|
||||
true ->
|
||||
halt(Code);
|
||||
_ ->
|
||||
halt(Code),
|
||||
%% workaround to delay exit until all output is written
|
||||
receive after infinity -> ok end
|
||||
false ->
|
||||
case os:type() of
|
||||
{win32, nt} ->
|
||||
timer:sleep(100),
|
||||
halt(Code);
|
||||
_ ->
|
||||
halt(Code),
|
||||
%% workaround to delay exit until all output is written
|
||||
receive after infinity -> ok end
|
||||
end
|
||||
end.
|
||||
|
||||
%% ====================================================================
|
||||
|
|
Loading…
Reference in a new issue