aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRJ <[email protected]>2013-09-20 15:30:00 +0100
committerTristan Sloughter <[email protected]>2013-09-20 20:07:38 -0500
commit5aed98f9dd5be82afce965987f815f45909ec000 (patch)
tree4cdf9df3a45918a3b55579e9e8e881997eed6624
parent963909d6a3793a4b0aec71d282f9246f605070ef (diff)
downloadrelx-5aed98f9dd5be82afce965987f815f45909ec000.tar.gz
relx-5aed98f9dd5be82afce965987f815f45909ec000.tar.bz2
relx-5aed98f9dd5be82afce965987f815f45909ec000.zip
Ensure exit codes propagate properly during upgrades
-rw-r--r--src/rlx_prv_assembler.erl12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/rlx_prv_assembler.erl b/src/rlx_prv_assembler.erl
index 4834591..a61d557 100644
--- a/src/rlx_prv_assembler.erl
+++ b/src/rlx_prv_assembler.erl
@@ -874,7 +874,7 @@ case \"$1\" in
node_name=`echo $NAME_ARG | awk '{print $2}'`
erlang_cookie=`echo $COOKIE_ARG | awk '{print $2}'`
- $ERTS_DIR/bin/escript $ERTS_DIR/bin/install_upgrade.escript $REL_NAME $node_name $erlang_cookie $2
+ exec $ERTS_DIR/bin/escript $ERTS_DIR/bin/install_upgrade.escript $REL_NAME $node_name $erlang_cookie $2
;;
console|console_clean|console_boot)
@@ -964,7 +964,7 @@ main([RelName, NodeName, Cookie, VersionArg]) ->
{error, UnpackReason} ->
print_existing_versions(TargetNode),
?INFO(\"Unpack failed: ~p~n\",[UnpackReason]),
- init:stop(2)
+ erlang:halt(2)
end;
old ->
%% no need to unpack, has been installed previously
@@ -980,7 +980,7 @@ main([RelName, NodeName, Cookie, VersionArg]) ->
?INFO(\"Release ~s is already installed, and set permanent.~n\",[Version])
end;
main(_) ->
- init:stop(1).
+ erlang:halt(1).
parse_version(V) when is_list(V) ->
hd(string:tokens(V,\"/\")).
@@ -991,7 +991,7 @@ install_and_permafy(TargetNode, Vsn) ->
ok;
{error, Reason} ->
?INFO(\"ERROR: release_handler:check_install_release failed: ~p~n\",[Reason]),
- init:stop(3)
+ erlang:halt(3)
end,
case rpc:call(TargetNode, release_handler, install_release, [Vsn], ?TIMEOUT) of
{ok, _, _} ->
@@ -1004,7 +1004,7 @@ install_and_permafy(TargetNode, Vsn) ->
[io_lib:format(\"* ~s\t~s~n\",[V,S]) || {V,S} <- which_releases(TargetNode)]),
?INFO(\"Installed versions:~n~s\", [VerList]),
?INFO(\"ERROR: Unable to revert to '~s' - not installed.~n\", [Vsn]),
- init:stop(2)
+ erlang:halt(2)
end.
permafy(TargetNode, Vsn) ->
@@ -1033,7 +1033,7 @@ start_distribution(NodeName, Cookie) ->
ok;
{_, pang} ->
io:format(\"Node ~p not responding to pings.\n\", [TargetNode]),
- init:stop(1)
+ erlang:halt(1)
end,
{ok, Cwd} = file:get_cwd(),
ok = rpc:call(TargetNode, file, set_cwd, [Cwd], ?TIMEOUT),