diff options
author | Stavros Aronis <aronisstav@gmail.com> | 2012-02-28 15:29:04 +0100 |
---|---|---|
committer | Henrik Nord <henrik@erlang.org> | 2012-05-21 15:31:21 +0200 |
commit | d0419ddb2e43b1ed957108712e9bf9505d7a0c01 (patch) | |
tree | b506609a08fbe4489f98f007519d83786dac7c05 | |
parent | 6d0da21ad9f0bba67d5bd389ca76a67613884d5f (diff) | |
download | otp-d0419ddb2e43b1ed957108712e9bf9505d7a0c01.tar.gz otp-d0419ddb2e43b1ed957108712e9bf9505d7a0c01.tar.bz2 otp-d0419ddb2e43b1ed957108712e9bf9505d7a0c01.zip |
Fix race in coordinator
-rw-r--r-- | lib/dialyzer/src/dialyzer_coordinator.erl | 10 |
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{}}. |