summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEssien Ita Essien <essiene@gmail.com>2008-12-27 08:41:03 +0100
committerEssien Ita Essien <essiene@gmail.com>2008-12-27 08:41:03 +0100
commit7917919d0832956e32a94ecb7e44b1f2f2a64b02 (patch)
treefae39e22c72bddf09893403e33fb752e87505cec
parentcebde781e6cf6907c3d4f40abb777ee9e2d6f102 (diff)
downloadrabbitmq-server-git-7917919d0832956e32a94ecb7e44b1f2f2a64b02.tar.gz
Reverse the encapsulation of infinity timeout in rabbit_net:async_recv/3
We now call it externally with the atom 'infinity' and internally, send -1 to prim_inet:async_recv/3
-rw-r--r--src/rabbit_net.erl6
-rw-r--r--src/rabbit_reader.erl2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_net.erl b/src/rabbit_net.erl
index dfa00a6a33..5a67b8ec71 100644
--- a/src/rabbit_net.erl
+++ b/src/rabbit_net.erl
@@ -43,20 +43,20 @@
-include("rabbit.hrl").
-async_recv(Sock, Length, -1) when is_record(Sock, ssl_socket) ->
- async_recv(Sock, Length, infinity);
async_recv(Sock, Length, Timeout) when is_record(Sock, ssl_socket) ->
Pid = self(),
Ref = make_ref(),
-
spawn(fun() -> Pid ! {inet_async, Sock, Ref,
ssl:recv(Sock#ssl_socket.ssl, Length, Timeout)}
end),
{ok, Ref};
+async_recv(Sock, Length, infinity) when is_port(Sock) ->
+ async_recv(Sock, Length, -1);
+
async_recv(Sock, Length, Timeout) when is_port(Sock) ->
prim_inet:async_recv(Sock, Length, Timeout).
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 678f1e3fbc..bb8c174cc1 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -317,7 +317,7 @@ mainloop(Parent, Deb, State = #v1{sock= Sock, recv_ref = Ref}) ->
switch_callback(OldState, NewCallback, Length) ->
Ref = inet_op(fun () -> rabbit_net:async_recv(
- OldState#v1.sock, Length, -1) end),
+ OldState#v1.sock, Length, infinity) end),
OldState#v1{callback = NewCallback,
recv_ref = Ref}.