From 3a7eb1f0d5f85443d2fbeb48435b367c768fbf37 Mon Sep 17 00:00:00 2001 From: Jordan West Date: Mon, 6 Oct 2014 20:20:50 -0700 Subject: [PATCH] add support for custom exit codes to nodetool rpc & friends --- priv/base/nodetool | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/priv/base/nodetool b/priv/base/nodetool index 23503d7..0e95609 100755 --- a/priv/base/nodetool +++ b/priv/base/nodetool @@ -71,6 +71,11 @@ main(Args) -> {badrpc, Reason} -> io:format(standard_error, "RPC to ~p failed: ~p\n", [TargetNode, Reason]), halt(1); + {error, Code} when is_integer(Code) -> + halt(Code); + {error, Code, Reason} when is_integer(Code) -> + io:format(standard_error, "ERROR: ~p\n", [Reason]), + halt(Code); _ -> halt(1) end; @@ -81,6 +86,11 @@ main(Args) -> {badrpc, Reason} -> io:format(standard_error, "RPC to ~p failed: ~p\n", [TargetNode, Reason]), halt(1); + {error, Code} when is_integer(Code) -> + halt(Code); + {error, Code, Reason} when is_integer(Code) -> + io:format(standard_error, "ERROR: ~p\n", [Reason]), + halt(Code); _ -> halt(1) end; @@ -90,6 +100,11 @@ main(Args) -> {badrpc, Reason} -> io:format(standard_error, "RPC to ~p failed: ~p\n", [TargetNode, Reason]), halt(1); + {error, Code} when is_integer(Code) -> + halt(Code); + {error, Code, Reason} when is_integer(Code) -> + io:format(standard_error, "ERROR: ~p\n", [Reason]), + halt(Code); Other -> io:format("~p\n", [Other]) end;