@@ -349,17 +349,16 @@ library. Such callbacks include:
349349 IModel] etc.
350350
351351Application callback handlers [b must not] invoke blocking AMQP
352- operations (such as [code IModel.QueueDeclare] or [code
353- IModel.BasicCancel]). If they do, the channel will deadlock[footnote
354- The underlying implementation reason is that the [code IBasicConsumer]
355- callbacks are invoked in the connection's thread rather than in the
356- application's thread.].
357-
358- Only asynchronous AMQP operations are safe for use within callbacks,
359- such as:
360-
361- - [code IModel.BasicAck]
362- - [code IModel.BasicPublish]
352+ operations (such as [code IModel.QueueDeclare], [code
353+ IModel.BasicCancel] or [code IModel.BasicPublish]). If they do, the
354+ channel will deadlock[footnote The underlying implementation reason
355+ is that the [code IBasicConsumer] callbacks are invoked in the connection's
356+ thread rather than in the application's thread.].
357+
358+ Only asynchronous AMQP operations without content are safe for use
359+ within callbacks, such as [code IModel.BasicAck]. It is not safe to
360+ use [code IModel.BasicPublish] in callbacks, because channel flow
361+ could block publication.
363362
364363For this reason, [code QueueingBasicConsumer] is the safest way of
365364subscribing to a queue, because its implementation uses [code
0 commit comments