summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-02-08 10:52:46 +0000
committerSimon MacMullen <simon@rabbitmq.com>2013-02-08 10:52:46 +0000
commit6792f0d4d92a22b9e569d2c4abdecfd04e572c62 (patch)
treee37d8c323162fe93b536dd93ed425f92ad67ed00 /src
parentb7341801db96959927882c82848eb491e3c4f0a0 (diff)
downloadrabbitmq-server-git-6792f0d4d92a22b9e569d2c4abdecfd04e572c62.tar.gz
Change to 'confirms' | 'other' | 'false'
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_queue_index.erl7
-rw-r--r--src/rabbit_variable_queue.erl2
2 files changed, 6 insertions, 3 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index 6495115bbc..ea70208fac 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -210,7 +210,7 @@
-spec(deliver/2 :: ([seq_id()], qistate()) -> qistate()).
-spec(ack/2 :: ([seq_id()], qistate()) -> qistate()).
-spec(sync/1 :: (qistate()) -> qistate()).
--spec(needs_sync/1 :: (qistate()) -> 'confirms' | boolean()).
+-spec(needs_sync/1 :: (qistate()) -> 'confirms' | 'other' | 'false').
-spec(flush/1 :: (qistate()) -> qistate()).
-spec(read/3 :: (seq_id(), seq_id(), qistate()) ->
{[{rabbit_types:msg_id(), seq_id(),
@@ -307,7 +307,10 @@ needs_sync(#qistate { journal_handle = undefined }) ->
false;
needs_sync(#qistate { journal_handle = JournalHdl, unconfirmed = UC }) ->
case gb_sets:is_empty(UC) of
- true -> file_handle_cache:needs_sync(JournalHdl);
+ true -> case file_handle_cache:needs_sync(JournalHdl) of
+ true -> other;
+ false -> false
+ end;
false -> confirms
end.
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index a23ebcb6ad..5d463f575b 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -774,7 +774,7 @@ needs_timeout(State = #vqstate { index_state = IndexState,
target_ram_count = TargetRamCount }) ->
case rabbit_queue_index:needs_sync(IndexState) of
confirms -> timed;
- true -> idle;
+ other -> idle;
false when TargetRamCount == infinity -> false;
false -> case reduce_memory_use(
fun (_Quota, State1) -> {0, State1} end,