Merge pull request #97 from budzejko/master

fix DOWN messages from external sources issue
This commit is contained in:
Tristan Sloughter 2015-11-02 14:32:59 -06:00
commit 5ef37420b6
2 changed files with 10 additions and 2 deletions

View file

@ -772,8 +772,8 @@ receivefrom(Pid) ->
receive
{Pid, R} ->
R;
{'DOWN', _, _, BadPid, Reason} when Reason =/= normal ->
erlang:throw({BadPid, Reason});
{'DOWN', _, _, Pid, Reason} when Reason =/= normal ->
erlang:throw({Pid, Reason});
{timerrang, _} ->
erlang:throw({nil, timeout})
end.

View file

@ -74,3 +74,11 @@ ftmap_bad_test() ->
?assertMatch([{value, 1}, {error,{throw,test_exception}}, {value, 3},
{value, 4}, {value, 5}] , Results).
external_down_message_test() ->
erlang:spawn_monitor(fun() -> erlang:throw(fail) end),
Results = ec_plists:map(fun(_) ->
ok
end,
lists:seq(1, 5)),
?assertMatch([ok, ok, ok, ok, ok],
Results).