diff options
| -rw-r--r-- | src/gen_server2.erl | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/gen_server2.erl b/src/gen_server2.erl index ef14813fef..11bb66d743 100644 --- a/src/gen_server2.erl +++ b/src/gen_server2.erl @@ -3,7 +3,6 @@ %% %% 1) the module name is gen_server2 %% -%% %% 2) more efficient handling of selective receives in callbacks %% gen_server2 processes drain their message queue into an internal %% buffer before invoking any callback module functions. Messages are @@ -13,6 +12,10 @@ %% As a result of the draining, any selective receive invoked inside a %% callback is less likely to have to scan a large message queue. %% +%% 3) gen_server2:cast is guaranteed to be order-preserving +%% The original code could reorder messages when communicating with a +%% process on a remote node that was not currently connected. +%% %% All modifications are (C) 2009 LShift Ltd. %% ``The contents of this file are subject to the Erlang Public License, @@ -360,12 +363,7 @@ process_msg(Parent, Name, State, Mod, Time, Queue, Debug, Msg) -> %%% Send/recive functions %%% --------------------------------------------------- do_send(Dest, Msg) -> - case catch erlang:send(Dest, Msg, [noconnect]) of - noconnect -> - spawn(erlang, send, [Dest,Msg]); - Other -> - Other - end. + catch erlang:send(Dest, Msg). do_multi_call(Nodes, Name, Req, infinity) -> Tag = make_ref(), |
