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
commitd80645ec6fff442349ea7248479af3571d74c9d7 (patch)
tree2b9981f25abdc40f3563962db6c95a8f21972208
parentb54e1b37f2a0b168fe0c4add73c49ca9dfa48e6d (diff)
downloadrabbitmq-server-d80645ec6fff442349ea7248479af3571d74c9d7.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 5ed70351..8a795f52 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),