mosquito / aio-pika

AMQP 0.9 client designed for asyncio and humans.
https://aio-pika.readthedocs.org/
Apache License 2.0
1.18k stars 186 forks source link

Prevent deadlock in RobustChannel.reopen() #622

Closed Darsstar closed 3 months ago

Darsstar commented 3 months ago

I felt this deserves it's own PR instead of including it in #615.

It is late, so here is the best, but consice, description I can currently manage: Connection.ready() is how users should check if the connection is ready, internally Connection.transport.ready() should be used if RobustConnection.__reconnect_task() might cause it to be executed.

coveralls commented 3 months ago

Coverage Status

coverage: 88.125%. first build when pulling 5b2f6c8d61919859bdfbe418981b2d983da355bf on Darsstar:prevent-deadlock-in-channel-reopen into a3ef44b6a4bafd5245f1cee545961179f00b1a03 on mosquito:master.