From ead64d5d32d4ba42193a49066c5f49475d89e410 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?= <egil@erlang.org>
Date: Tue, 10 May 2016 19:17:53 +0200
Subject: eprof: Fix unmatched return warnings

---
 lib/tools/src/eprof.erl | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

(limited to 'lib/tools')

diff --git a/lib/tools/src/eprof.erl b/lib/tools/src/eprof.erl
index 07e995993b..3ae899a078 100644
--- a/lib/tools/src/eprof.erl
+++ b/lib/tools/src/eprof.erl
@@ -74,7 +74,6 @@
 start() -> gen_server:start({local, ?MODULE}, ?MODULE, [], []).
 stop()  -> gen_server:call(?MODULE, stop, infinity).
 
-
 analyze() ->
     analyze(procs).
 
@@ -112,7 +111,7 @@ profile(Rootset, M, F, A, Pattern) when is_list(Rootset), is_atom(M), is_atom(F)
 
 %% Returns when M:F/A has terminated
 profile(Rootset, M, F, A, Pattern, Options) ->
-    start(),
+    ok = start_internal(),
     gen_server:call(?MODULE, {profile_start, Rootset, Pattern, {M,F,A}, Options}, infinity).
 
 dump() -> 
@@ -127,7 +126,7 @@ start_profiling(Rootset) ->
 start_profiling(Rootset, Pattern) ->
     start_profiling(Rootset, Pattern, ?default_options).
 start_profiling(Rootset, Pattern, Options) ->
-    start(),
+    ok = start_internal(),
     gen_server:call(?MODULE, {profile_start, Rootset, Pattern, undefined, Options}, infinity).
 
 stop_profiling() ->
@@ -251,9 +250,9 @@ handle_call({logfile, File}, _From, #state{ fd = OldFd } = S) ->
 	{ok, Fd} ->
 	    case OldFd of
 		undefined -> ok;
-		OldFd -> file:close(OldFd)
+		OldFd -> ok = file:close(OldFd)
 	    end,
-	    {reply, ok, S#state{ fd = Fd}};
+	    {reply, ok, S#state{fd = Fd}};
 	Error ->
 	    {reply, Error, S}
     end;
@@ -521,3 +520,10 @@ format(Fd, Format, Strings) ->
 
 divide(_,0) -> 0.0;
 divide(T,N) -> T/N.
+
+start_internal() ->
+    case start() of
+        {ok, _} -> ok;
+        {error, {already_started,_}} -> ok;
+        Error -> Error
+    end.
-- 
cgit v1.2.3