aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStavros Aronis <aronisstav@gmail.com>2012-02-28 15:29:04 +0100
committerHenrik Nord <henrik@erlang.org>2012-05-21 15:31:21 +0200
commitd0419ddb2e43b1ed957108712e9bf9505d7a0c01 (patch)
treeb506609a08fbe4489f98f007519d83786dac7c05
parent6d0da21ad9f0bba67d5bd389ca76a67613884d5f (diff)
downloadotp-d0419ddb2e43b1ed957108712e9bf9505d7a0c01.tar.gz
otp-d0419ddb2e43b1ed957108712e9bf9505d7a0c01.tar.bz2
otp-d0419ddb2e43b1ed957108712e9bf9505d7a0c01.zip
Fix race in coordinator
-rw-r--r--lib/dialyzer/src/dialyzer_coordinator.erl10
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/dialyzer/src/dialyzer_coordinator.erl b/lib/dialyzer/src/dialyzer_coordinator.erl
index 3663b3c737..f4f1fda8fd 100644
--- a/lib/dialyzer/src/dialyzer_coordinator.erl
+++ b/lib/dialyzer/src/dialyzer_coordinator.erl
@@ -152,7 +152,9 @@ send_done_to_parent(#state{mode = Mode,
next_label = NextLabel}) ->
Msg =
case Mode of
- X when X =:= 'typesig'; X =:= 'dataflow' -> {not_fixpoint, Result};
+ X when X =:= 'typesig'; X =:= 'dataflow' ->
+ ets:delete(?MAP),
+ {not_fixpoint, Result};
'compile' -> {compilation_data, Result, NextLabel};
'warnings' -> {warnings, Result}
end,
@@ -340,11 +342,7 @@ handle_info(_Info, State) ->
-spec terminate(term(), #state{}) -> ok.
-terminate(_Reason, #state{mode = Mode}) ->
- case Mode of
- X when X =:= 'typesig'; X =:= 'dataflow' -> ets:delete(?MAP);
- _ -> true
- end,
+terminate(_Reason, _State) ->
ok.
-spec code_change(term(), #state{}, term()) -> {ok, #state{}}.