summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Harrop <rob@rabbitmq.com>2011-06-13 15:36:42 +0100
committerRob Harrop <rob@rabbitmq.com>2011-06-13 15:36:42 +0100
commit419f66351f15070693446954fc2a32b73b84bbc9 (patch)
tree6fd249528239960bdf6916a077d290b4e25f8702
parent2d763b61f6cf17e7dd150041df472b2fd9e0e5c5 (diff)
downloadrabbitmq-server-git-419f66351f15070693446954fc2a32b73b84bbc9.tar.gz
Fixed bug with undecoded content
-rw-r--r--src/rabbit_amqqueue_process.erl17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 9e9d8f7544..4ba1330388 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -778,12 +778,11 @@ dead_letter_msg(Msg, Reason, State = #q{dead_letter_exchange = DLE}) ->
undefined)),
ok.
-make_dead_letter_msg(Reason,
- Msg = #basic_message{
- content = Content = #content{
- properties = Props = #'P_basic'{
- headers = Headers}}},
- State) ->
+make_dead_letter_msg(Reason, Msg = #basic_message{content = Content}, State) ->
+
+ Content1 = #content{
+ properties = Props = #'P_basic'{headers = Headers}} =
+ rabbit_binary_parser:ensure_content_decoded(Content),
#resource{name = QName} = qname(State),
@@ -795,11 +794,11 @@ make_dead_letter_msg(Reason,
undefined -> DeathHeaders;
_ -> Headers ++ DeathHeaders
end,
- Content1 =
+ Content2 =
rabbit_binary_generator:clear_encoded_content(
- Content#content{properties = Props#'P_basic'{headers = Headers1}}),
+ Content1#content{properties = Props#'P_basic'{headers = Headers1}}),
- Msg#basic_message{id = rabbit_guid:guid(), content = Content1}.
+ Msg#basic_message{id = rabbit_guid:guid(), content = Content2}.
now_micros() -> timer:now_diff(now(), {0,0,0}).