Skip to content

Commit 92687c9

Browse files
author
Vlad Alexandru Ionescu
committed
merging bug23014 into default
2 parents 01e105d + 4410688 commit 92687c9

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

docs/wikipages/data.ApiOverview.txt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -349,17 +349,16 @@ library. Such callbacks include:
349349
IModel] etc.
350350

351351
Application 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

364363
For this reason, [code QueueingBasicConsumer] is the safest way of
365364
subscribing to a queue, because its implementation uses [code

0 commit comments

Comments
 (0)