diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-01-20 17:24:01 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-01-20 17:24:01 +0000 |
| commit | 1c0359b36186a67de9b43f99775572b0527d6926 (patch) | |
| tree | d669bbe9aaed7b5ceb9f405fb13b0f7df3764927 /src | |
| parent | f46b71cf9d8b0c4f389cad5de80b8efc74cdade9 (diff) | |
| download | rabbitmq-server-git-1c0359b36186a67de9b43f99775572b0527d6926.tar.gz | |
A mistake in the error case in accept, and elimination of one reverse
Diffstat (limited to 'src')
| -rw-r--r-- | src/file_handle_cache.erl | 10 | ||||
| -rw-r--r-- | src/tcp_acceptor.erl | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/file_handle_cache.erl b/src/file_handle_cache.erl index 723f05aec5..9fb18c3993 100644 --- a/src/file_handle_cache.erl +++ b/src/file_handle_cache.erl @@ -734,11 +734,11 @@ process_obtains(State = #fhc_state { limit = Limit, count = Count }) State; process_obtains(State = #fhc_state { limit = Limit, count = Count, obtains = Obtains }) -> - Take = lists:min([length(Obtains), Limit - Count]), - {Obtainable, ObtainsNewRev} = lists:split(Take, lists:reverse(Obtains)), - [gen_server:reply(From, ok) || From <- Obtainable], - State #fhc_state { count = Count + Take, - obtains = lists:reverse(ObtainsNewRev) }. + ObtainsLen = length(Obtains), + Take = ObtainsLen - lists:min([ObtainsLen, Limit - Count]), + {ObtainsNew, ObtainableRev} = lists:split(Take, Obtains), + [gen_server:reply(From, ok) || From <- lists:reverse(ObtainableRev)], + State #fhc_state { count = Count + Take, obtains = ObtainsNew }. maybe_reduce(State = #fhc_state { limit = Limit, count = Count, elders = Elders }) diff --git a/src/tcp_acceptor.erl b/src/tcp_acceptor.erl index 6de6ac3e2e..f38f8191b0 100644 --- a/src/tcp_acceptor.erl +++ b/src/tcp_acceptor.erl @@ -104,5 +104,5 @@ accept(State = #state{sock=LSock}) -> ok = file_handle_cache:obtain(), case prim_inet:async_accept(LSock, -1) of {ok, Ref} -> {noreply, State#state{ref=Ref}}; - Error -> {stop, {cannot_accept, Error}} + Error -> {stop, {cannot_accept, Error}, State} end. |
