summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2013-08-19 11:30:23 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2013-08-19 11:30:23 +0100
commitbe57137d957b2cff32f586192173ff6d59940925 (patch)
tree307ef5fe32a22bb2ee6116b1f42ad6f0746f0b55
parent951619dc64b7ac1afd0072ca371ff96af55a9677 (diff)
downloadrabbitmq-server-bug25714.tar.gz
refactor: make proper use of gb_sets APIbug25714
-rw-r--r--src/delegate.erl10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/delegate.erl b/src/delegate.erl
index c10e7343..0331ca01 100644
--- a/src/delegate.erl
+++ b/src/delegate.erl
@@ -197,7 +197,7 @@ handle_cast({monitor, MonitoringPid, Pid},
dict:store(Pid, {Ref, Pids1}, Monitors);
error ->
Ref = erlang:monitor(process, Pid),
- Pids = gb_sets:from_list([MonitoringPid]),
+ Pids = gb_sets:singleton(MonitoringPid),
dict:store(Pid, {Ref, Pids}, Monitors)
end,
{noreply, State#state{monitors = Monitors1}, hibernate};
@@ -207,10 +207,10 @@ handle_cast({demonitor, MonitoringPid, Pid},
Monitors1 = case dict:find(Pid, Monitors) of
{ok, {Ref, Pids}} ->
Pids1 = gb_sets:del_element(MonitoringPid, Pids),
- case gb_sets:size(Pids1) of
- 0 -> erlang:demonitor(Ref),
- dict:erase(Pid, Monitors);
- _ -> dict:store(Pid, {Ref, Pids1}, Monitors)
+ case gb_sets:is_empty(Pids1) of
+ true -> erlang:demonitor(Ref),
+ dict:erase(Pid, Monitors);
+ false -> dict:store(Pid, {Ref, Pids1}, Monitors)
end;
error ->
Monitors