summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@lshift.net>2010-04-28 12:51:06 +0100
committerSimon MacMullen <simon@lshift.net>2010-04-28 12:51:06 +0100
commit0e939912ef57f87c5de6dd96d2e4a62305e82d43 (patch)
tree2b9981f25abdc40f3563962db6c95a8f21972208
parentbaafee52be6f551fa26d13a5274e9a23ec7fc216 (diff)
downloadrabbitmq-server-git-0e939912ef57f87c5de6dd96d2e4a62305e82d43.tar.gz
Explain asyncness.
-rw-r--r--src/delegate.erl5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/delegate.erl b/src/delegate.erl
index 5ed7035160..8a795f521c 100644
--- a/src/delegate.erl
+++ b/src/delegate.erl
@@ -98,6 +98,11 @@ invoke_per_node(NodePids, FPid) ->
lists:append(delegate_per_node(NodePids, FPid, fun internal_call/2)).
invoke_async_per_node([{Node, Pids}], FPid) when Node == node() ->
+ % This is not actually async! However, in practice FPid will always be
+ % something that does a gen_server:cast or similar, so I don't think
+ % it's a problem unless someone misuses this function. Making this
+ % *actually* async would be painful as we can't spawn at this point or we
+ % break effect ordering.
local_delegate(Pids, FPid);
invoke_async_per_node(NodePids, FPid) ->
delegate_per_node(NodePids, FPid, fun internal_cast/2),