summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@lshift.net>2010-04-22 18:29:25 +0100
committerSimon MacMullen <simon@lshift.net>2010-04-22 18:29:25 +0100
commit05f24d96759eeb8f1c54996e8106d203dddf9b69 (patch)
tree152d2cb28009d3af3e2ed5ecec18bd193ccf08f2
parent4e763135f0b562a9b7356ff4d62a10a1d9adc0ef (diff)
downloadrabbitmq-server-05f24d96759eeb8f1c54996e8106d203dddf9b69.tar.gz
Add / fix specs, and remove some unreachable code.
-rw-r--r--src/delegate.erl19
-rw-r--r--src/delegate_sup.erl8
-rw-r--r--src/rabbit_amqqueue.erl2
-rw-r--r--src/rabbit_channel.erl11
4 files changed, 32 insertions, 8 deletions
diff --git a/src/delegate.erl b/src/delegate.erl
index 68739324..f3c3f097 100644
--- a/src/delegate.erl
+++ b/src/delegate.erl
@@ -44,6 +44,25 @@
%%----------------------------------------------------------------------------
+-ifdef(use_specs).
+
+-type(serverref() :: atom() | {atom(), atom()} | {'global', term()} | pid()).
+
+-spec(start_link/1 :: (non_neg_integer()) -> {'ok', pid()}).
+-spec(cast/2 :: (pid() | [pid()], fun((pid()) -> any())) -> 'ok').
+-spec(call/2 :: (pid() | [pid()], fun((pid()) -> A)) -> A).
+
+-spec(gs2_call/3 ::
+ (serverref(), any(), non_neg_integer() | 'infinity') -> any()).
+-spec(gs2_pcall/4 ::
+ (serverref(), number(), any(), non_neg_integer() | 'infinity') -> any()).
+-spec(gs2_cast/2 :: (serverref(), any()) -> 'ok').
+-spec(gs2_pcast/3 :: (serverref(), number(), any()) -> 'ok').
+
+-spec(server/1 :: (node() | non_neg_integer()) -> atom()).
+-spec(process_count/0 :: () -> non_neg_integer()).
+
+-endif.
%%----------------------------------------------------------------------------
diff --git a/src/delegate_sup.erl b/src/delegate_sup.erl
index dd3d0eef..1f351406 100644
--- a/src/delegate_sup.erl
+++ b/src/delegate_sup.erl
@@ -41,6 +41,14 @@
%%----------------------------------------------------------------------------
+-ifdef(use_specs).
+
+-spec(start_link/0 :: () -> {'ok', pid()} | 'ignore' | {'error', any()}).
+
+-endif.
+
+%%----------------------------------------------------------------------------
+
start_link() ->
supervisor:start_link({local, ?SERVER}, ?MODULE, []).
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 1dd92403..efa62e1b 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -92,7 +92,7 @@
-spec(requeue/3 :: (pid(), [msg_id()], pid()) -> 'ok').
-spec(ack/4 :: (pid(), maybe(txn()), [msg_id()], pid()) -> 'ok').
-spec(commit_all/3 :: ([pid()], txn(), pid()) -> ok_or_errors()).
--spec(rollback_all/3 :: ([pid()], txn(), pid()) -> ok_or_errors()).
+-spec(rollback_all/3 :: ([pid()], txn(), pid()) -> 'ok').
-spec(notify_down_all/2 :: ([pid()], pid()) -> ok_or_errors()).
-spec(limit_all/3 :: ([pid()], pid(), pid() | 'undefined') -> ok_or_errors()).
-spec(claim_queue/2 :: (amqqueue(), pid()) -> 'ok' | 'locked').
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 7d3cd722..1f16ec08 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -944,13 +944,10 @@ internal_rollback(State = #ch{transaction_id = TxnKey,
[self(),
queue:len(UAQ),
queue:len(UAMQ)]),
- case rabbit_amqqueue:rollback_all(sets:to_list(Participants),
- TxnKey, self()) of
- ok -> NewUAMQ = queue:join(UAQ, UAMQ),
- new_tx(State#ch{unacked_message_q = NewUAMQ});
- {error, Errors} -> rabbit_misc:protocol_error(
- internal_error, "rollback failed: ~w", [Errors])
- end.
+ ok = rabbit_amqqueue:rollback_all(sets:to_list(Participants),
+ TxnKey, self()),
+ NewUAMQ = queue:join(UAQ, UAMQ),
+ new_tx(State#ch{unacked_message_q = NewUAMQ}).
rollback_and_notify(State = #ch{transaction_id = none}) ->
notify_queues(State);