aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSiri Hansen <[email protected]>2012-02-16 14:21:19 +0100
committerSiri Hansen <[email protected]>2012-03-19 09:48:54 +0100
commit0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5 (patch)
tree8fd92d7abf38e6133da1d9312649cf6e67c391a7
parent6f5e3e16019a3a4f9e9033d185b9c487967ad5fa (diff)
downloadotp-0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5.tar.gz
otp-0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5.tar.bz2
otp-0bc47607cad0c9ad475a7c0a8e7aa5633d00ceb5.zip
[reltool] Fix badmatch when starting GUI
OTP-9792 Start of reltool GUI sometimes crashes with a badmatch in reltool_sys_win:do_init/1 because the #sys record fetched with reltool_server:get_sys/1 differs from the #sys record returned from reltool_server:start_link/1. This has been corrected. reltool_server:start_link/1 no longer retuns the #sys record.
-rw-r--r--lib/reltool/src/reltool.erl4
-rw-r--r--lib/reltool/src/reltool_server.erl5
-rw-r--r--lib/reltool/src/reltool_sys_win.erl2
3 files changed, 5 insertions, 6 deletions
diff --git a/lib/reltool/src/reltool.erl b/lib/reltool/src/reltool.erl
index 54eb1ca9e1..a2b1c9468c 100644
--- a/lib/reltool/src/reltool.erl
+++ b/lib/reltool/src/reltool.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2009-2011. All Rights Reserved.
+%% Copyright Ericsson AB 2009-2012. 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
@@ -66,7 +66,7 @@ start_link(Options) when is_list(Options) ->
-spec start_server(options()) -> {ok, server_pid()} | {error, reason()}.
start_server(Options) ->
case reltool_server:start_link(Options) of
- {ok, ServerPid, _Common, _Sys} ->
+ {ok, ServerPid, _Common} ->
{ok, ServerPid};
{error, Reason} ->
{error, lists:flatten(io_lib:format("~p", [Reason]))}
diff --git a/lib/reltool/src/reltool_server.erl b/lib/reltool/src/reltool_server.erl
index b6ffb9b134..da15d91581 100644
--- a/lib/reltool/src/reltool_server.erl
+++ b/lib/reltool/src/reltool_server.erl
@@ -133,11 +133,10 @@ init(Options) ->
do_init(Options) ->
{S, Status} = parse_options(Options),
- #state{parent_pid = ParentPid, common = C, sys = Sys} = S,
+ #state{parent_pid = ParentPid, common = C} = S,
%% process_flag(trap_exit, (S#state.common)#common.trap_exit),
- proc_lib:init_ack(ParentPid,
- {ok, self(), C, Sys#sys{apps = undefined}}),
+ proc_lib:init_ack(ParentPid, {ok, self(), C}),
{S2, Apps, Status2} = refresh(S, true, Status),
Status3 = analyse(S2, Apps, Status2),
case Status3 of
diff --git a/lib/reltool/src/reltool_sys_win.erl b/lib/reltool/src/reltool_sys_win.erl
index f29a95af38..c49641d6a3 100644
--- a/lib/reltool/src/reltool_sys_win.erl
+++ b/lib/reltool/src/reltool_sys_win.erl
@@ -135,7 +135,7 @@ init(Options) ->
do_init([{safe_config, Safe}, {parent, Parent} | Options]) ->
case reltool_server:start_link(Options) of
- {ok, ServerPid, C, Sys} ->
+ {ok, ServerPid, C} ->
process_flag(trap_exit, C#common.trap_exit),
wx:new(),
wx:debug(C#common.wx_debug),