[rabbitmq-discuss] Make queue.bind after basic.consume (rabbitmq-c)

Alan Antonuk alan.antonuk at gmail.com
Mon Jul 8 18:12:35 BST 2013


On Mon, Jul 8, 2013 at 2:43 AM, Michael Klishin <michael.s.klishin at gmail.com
> wrote:

>
> There is one tricky scenario: if you basic.cancel the last consumer on an
> auto-delete
> queue, it will be deleted.
>

If the queue happens to be deleted before you try and queue.bind it, the
broker will return a channel exception. In terms of the rabbitmq-c API the
amqp_queue_bind() function should return null, then amqp_get_rpc_reply()
will return the reason for the channel exception.  It shouldn't block for
long on a recv() when doing one of these.

If you're reading messages using amqp_simple_wait_frame() it is possible to
ignore a frame that shouldn't be ignored (like an channel.close or a
connection.close). Could you describe in more detail what you're doing
before it hangs?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130708/763d9a8b/attachment.htm>


More information about the rabbitmq-discuss mailing list