aiormq icon indicating copy to clipboard operation
aiormq copied to clipboard

Ensure locks are released when leaving a Countdown context

Open torarvid opened this issue 2 years ago • 0 comments

When using a Countdown as a context manager with a lock, there was a possibility of not releasing the lock when exiting the context (if unlucky with timeouts).

As an example, when processing a large batch of basic_publish calls using a short timeout, there is a certain probability that the timeout will be hit during the put operation, for instance. This means that when the time comes to run aexit, the Countdown logic will short-circuit, causing the lock.release() to never be called.

torarvid avatar Mar 28 '23 14:03 torarvid