@@ -616,14 +616,14 @@ priv_absent(QueueName, _QPid, _IsDurable, timeout) ->
616
616
rabbit_framing :amqp_table (), rabbit_types :maybe (pid ())) ->
617
617
'ok' | rabbit_types :channel_exit () | rabbit_types :connection_exit ().
618
618
619
- assert_equivalence (Q , Durable1 , AD1 , Args1 , Owner ) ->
619
+ assert_equivalence (Q , DurableDeclare , AutoDeleteDeclare , Args1 , Owner ) ->
620
620
QName = amqqueue :get_name (Q ),
621
- Durable = amqqueue :is_durable (Q ),
622
- AD = amqqueue :is_auto_delete (Q ),
623
- rabbit_misc : assert_field_equivalence ( Durable , Durable1 , QName , durable ),
624
- rabbit_misc :assert_field_equivalence (AD , AD1 , QName , auto_delete ),
625
- assert_args_equivalence ( Q , Args1 ),
626
- check_exclusive_access (Q , Owner , strict ).
621
+ DurableQ = amqqueue :is_durable (Q ),
622
+ AutoDeleteQ = amqqueue :is_auto_delete (Q ),
623
+ ok = check_exclusive_access ( Q , Owner , strict ),
624
+ ok = rabbit_misc :assert_field_equivalence (DurableQ , DurableDeclare , QName , durable ),
625
+ ok = rabbit_misc : assert_field_equivalence ( AutoDeleteQ , AutoDeleteDeclare , QName , auto_delete ),
626
+ ok = assert_args_equivalence (Q , Args1 ).
627
627
628
628
- spec check_exclusive_access (amqqueue :amqqueue (), pid ()) ->
629
629
'ok' | rabbit_types :channel_exit ().
@@ -640,7 +640,9 @@ check_exclusive_access(Q, _ReaderPid, _MatchType) ->
640
640
QueueName = amqqueue :get_name (Q ),
641
641
rabbit_misc :protocol_error (
642
642
resource_locked ,
643
- " cannot obtain exclusive access to locked ~s " ,
643
+ " cannot obtain exclusive access to locked ~s . It could be originally "
644
+ " declared on another connection or the exclusive property value does not "
645
+ " match that of the original declaration." ,
644
646
[rabbit_misc :rs (QueueName )]).
645
647
646
648
- spec with_exclusive_access_or_die (name (), pid (), qfun (A )) ->
0 commit comments