summaryrefslogtreecommitdiff
path: root/src/rabbit_msg_store_gc.erl
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-01-14 19:05:28 +0000
committerMatthew Sackman <matthew@rabbitmq.com>2011-01-14 19:05:28 +0000
commit4ea778db2bf033bed2f391f719fc11b39b3dbeba (patch)
tree58684cf351da7008ea20f4e74f7a99b5d28f8e32 /src/rabbit_msg_store_gc.erl
parent6a1c228697e4bbefe2b54ab031640249869e1003 (diff)
downloadrabbitmq-server-4ea778db2bf033bed2f391f719fc11b39b3dbeba.tar.gz
Rearrangement in gc. Can't seem to get it shorter than this though
Diffstat (limited to 'src/rabbit_msg_store_gc.erl')
-rw-r--r--src/rabbit_msg_store_gc.erl15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/rabbit_msg_store_gc.erl b/src/rabbit_msg_store_gc.erl
index 7cf5c1f9..68bf4338 100644
--- a/src/rabbit_msg_store_gc.erl
+++ b/src/rabbit_msg_store_gc.erl
@@ -137,16 +137,17 @@ attempt_action(Action, Files,
msg_store_state = MsgStoreState }) ->
case [File || File <- Files,
rabbit_msg_store:has_readers(File, MsgStoreState)] of
- [] -> Thunks1 =
- [do_action(Action, Files, MsgStoreState) | Thunks],
- State #state { on_action = run_thunks(Thunks1) };
- [File | _] -> Pending1 = dict:store(File, {Action, Files}, Pending),
- State #state { pending_no_readers = Pending1 }
+ [] ->
+ Thunks1 = lists:filter(
+ fun (Thunk) -> not Thunk() end,
+ [do_action(Action, Files, MsgStoreState) | Thunks]),
+ State #state { on_action = Thunks1 };
+ [File | _] ->
+ Pending1 = dict:store(File, {Action, Files}, Pending),
+ State #state { pending_no_readers = Pending1 }
end.
do_action(combine, [Source, Destination], MsgStoreState) ->
rabbit_msg_store:combine_files(Source, Destination, MsgStoreState);
do_action(delete, [File], MsgStoreState) ->
rabbit_msg_store:delete_file(File, MsgStoreState).
-
-run_thunks(Thunks) -> lists:filter(fun (Thunk) -> not Thunk() end, Thunks).