diff options
author | Erlang/OTP <[email protected]> | 2010-05-06 15:53:51 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-05-06 15:53:51 +0000 |
commit | a21a9dac550bcb976fa074d7005499a4d6b55791 (patch) | |
tree | fe2f9e65453319d7099ebedce14331f327a02fcb /lib/sasl | |
parent | 3a5f8f60dc803d2a9825253120d826a12b01f312 (diff) | |
parent | a83e80fd743af579fb957cf78c36931919421e41 (diff) | |
download | otp-a21a9dac550bcb976fa074d7005499a4d6b55791.tar.gz otp-a21a9dac550bcb976fa074d7005499a4d6b55791.tar.bz2 otp-a21a9dac550bcb976fa074d7005499a4d6b55791.zip |
Merge branch 'sv/sasl-fix-get_status' into dev
* sv/sasl-fix-get_status:
Prepare patch release
fix sys:get_status backward compatibility for sasl release_handler_1
OTP-8619 sv/sasl-fix-get_status
In R13B04 sys:get_status was modified to invoke format_status/2 in the
callback module if the module exports that function. This resulted in a
change to the term returned from calling sys:get_status on the supervisor
module, since supervisor is a gen_server and gen_server exports
format_status. The sasl release_handler_1 module had a dependency on the
pre-R13B04 term returned by sys:get_status when invoked on a supervisor, so
the R13B04 change broke that dependency.
This problem has been fixed by change release_handler_1 to handle both the
pre-R13B04 and R13B04 terms that sys:get_status can return from a
supervisor.
Diffstat (limited to 'lib/sasl')
-rw-r--r-- | lib/sasl/doc/src/notes.xml | 27 | ||||
-rw-r--r-- | lib/sasl/src/release_handler_1.erl | 18 | ||||
-rw-r--r-- | lib/sasl/vsn.mk | 2 |
3 files changed, 40 insertions, 7 deletions
diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml index 4c4b11d3c4..e528af2522 100644 --- a/lib/sasl/doc/src/notes.xml +++ b/lib/sasl/doc/src/notes.xml @@ -30,6 +30,33 @@ </header> <p>This document describes the changes made to the SASL application.</p> +<section><title>SASL 2.1.9.2</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p>In R13B04 sys:get_status was modified to invoke + format_status/2 in the callback module if the module + exports that function. This resulted in a change to the + term returned from calling sys:get_status on the + supervisor module, since supervisor is a gen_server and + gen_server exports format_status. The sasl + release_handler_1 module had a dependency on the + pre-R13B04 term returned by sys:get_status when invoked + on a supervisor, so the R13B04 change broke that + dependency.</p> + <p>This problem has been fixed by change + release_handler_1 to handle both the pre-R13B04 and + R13B04 terms that sys:get_status can return from a + supervisor.</p> + <p> + Own Id: OTP-8619 Aux Id: seq11570 </p> + </item> + </list> + </section> + +</section> + <section><title>SASL 2.1.9.1</title> <section><title>Improvements and New Features</title> diff --git a/lib/sasl/src/release_handler_1.erl b/lib/sasl/src/release_handler_1.erl index e3e3caba99..9c0edf4e99 100644 --- a/lib/sasl/src/release_handler_1.erl +++ b/lib/sasl/src/release_handler_1.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1996-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% -module(release_handler_1). @@ -554,7 +554,13 @@ get_supervisor_module(SupPid) -> get_supervisor_module1(SupPid) -> {status, _Pid, {module, _Mod}, [_PDict, _SysState, _Parent, _Dbg, Misc]} = sys:get_status(SupPid), - [_Name, State, _Type, _Time] = Misc, + %% supervisor Misc field changed at R13B04, handle old and new variants here + State = case Misc of + [_Name, State1, _Type, _Time] -> + State1; + [_Header, _Data, {data, [{"State", State2}]}] -> + State2 + end, %% Cannot use #supervisor_state{module = Module} = State. {ok, element(#supervisor_state.module, State)}. diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk index cad33a5d9c..d01a9bc4f1 100644 --- a/lib/sasl/vsn.mk +++ b/lib/sasl/vsn.mk @@ -1 +1 @@ -SASL_VSN = 2.1.9.1 +SASL_VSN = 2.1.9.2 |