aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sasl/src
diff options
context:
space:
mode:
authorSiri Hansen <[email protected]>2011-11-30 11:37:56 +0100
committerSiri Hansen <[email protected]>2011-11-30 11:37:56 +0100
commit81f08713ff0ea3e49c2432e489a74f49ab6ebc42 (patch)
tree7d69a9ec25fbab8a63741cc59f663b7b1c025280 /lib/sasl/src
parent8800c07a30b60ef450e2bac6dd920cccda7483ad (diff)
parent3781b5129a3e43c1c2e5e33d1223e1e17a617be7 (diff)
downloadotp-81f08713ff0ea3e49c2432e489a74f49ab6ebc42.tar.gz
otp-81f08713ff0ea3e49c2432e489a74f49ab6ebc42.tar.bz2
otp-81f08713ff0ea3e49c2432e489a74f49ab6ebc42.zip
Merge branch 'siri/stdlib/dialyzer-supervisor/OTP-9741'
* siri/stdlib/dialyzer-supervisor/OTP-9741: Add test for upgrade of supervisor Fix dialyzer warnings in supervisor
Diffstat (limited to 'lib/sasl/src')
-rw-r--r--lib/sasl/src/release_handler_1.erl15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/sasl/src/release_handler_1.erl b/lib/sasl/src/release_handler_1.erl
index 37275eff45..93d12cf609 100644
--- a/lib/sasl/src/release_handler_1.erl
+++ b/lib/sasl/src/release_handler_1.erl
@@ -505,15 +505,20 @@ resume(Pids) ->
change_code(Pids, Mod, Vsn, Extra, Timeout) ->
Fun = fun(Pid) ->
- case Timeout of
- default ->
- ok = sys:change_code(Pid, Mod, Vsn, Extra);
- _Else ->
- ok = sys:change_code(Pid, Mod, Vsn, Extra, Timeout)
+ case sys_change_code(Pid, Mod, Vsn, Extra, Timeout) of
+ ok ->
+ ok;
+ {error,Reason} ->
+ throw({code_change_failed,Pid,Mod,Vsn,Reason})
end
end,
lists:foreach(Fun, Pids).
+sys_change_code(Pid, Mod, Vsn, Extra, default) ->
+ sys:change_code(Pid, Mod, Vsn, Extra);
+sys_change_code(Pid, Mod, Vsn, Extra, Timeout) ->
+ sys:change_code(Pid, Mod, Vsn, Extra, Timeout).
+
stop(Mod, Procs) ->
lists:zf(fun({undefined, _Name, _Pid, _Mods}) ->
false;