diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2010-08-19 16:54:12 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2010-08-19 16:54:12 +0100 |
| commit | f21798f95b7f38f1839de853eb63ab1c7e58ef8f (patch) | |
| tree | 678a2dae1a53f4633bcc0b66f674e27f814a3690 | |
| parent | 2f284b28a83fc6b594c827243aceb98b528e5f56 (diff) | |
| download | rabbitmq-server-git-f21798f95b7f38f1839de853eb63ab1c7e58ef8f.tar.gz | |
Some essential assertions
| -rw-r--r-- | src/file_handle_cache.erl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/file_handle_cache.erl b/src/file_handle_cache.erl index 42f6115aa7..54d1dfa9a1 100644 --- a/src/file_handle_cache.erl +++ b/src/file_handle_cache.erl @@ -751,7 +751,8 @@ handle_call({open, Pid, EldestUnusedSince, CanClose}, From, State = #fhc_state { open_count = Count, open_pending = Pending, elders = Elders, - blocked = Blocked }) -> + blocked = Blocked }) + when EldestUnusedSince =/= undefined -> Elders1 = dict:store(Pid, EldestUnusedSince, Elders), Item = {open, Pid, From}, State1 = ensure_mref(Pid, State #fhc_state { elders = Elders1 }), @@ -797,7 +798,8 @@ handle_cast({register_callback, Pid, MFA}, callbacks = dict:store(Pid, MFA, Callbacks) })}; handle_cast({update, Pid, EldestUnusedSince}, State = - #fhc_state { elders = Elders }) -> + #fhc_state { elders = Elders }) + when EldestUnusedSince =/= undefined -> Elders1 = dict:store(Pid, EldestUnusedSince, Elders), %% don't call maybe_reduce from here otherwise we can create a %% storm of messages @@ -938,9 +940,7 @@ reduce(State = #fhc_state { open_pending = OpenPending, timer_ref = TRef }) -> Now = now(), {Pids, Sum, ClientCount} = - dict:fold(fun (_Pid, undefined, Accs) -> - Accs; - (Pid, Eldest, {PidsAcc, SumAcc, CountAcc} = Accs) -> + dict:fold(fun (Pid, Eldest, {PidsAcc, SumAcc, CountAcc} = Accs) -> case sets:is_element(Pid, Blocked) of true -> Accs; false -> {[Pid|PidsAcc], |
