Uvloop: Server fails to shutdown while persistent connections exist

Created on 6 Jul 2018  路  6Comments  路  Source: MagicStack/uvloop

I noticed that my aiohttp server with uvloop==0.11.0 awaits until all connections (WebSocket, streaming, etc.) are closed. This behavior prevents us from performing aiohttp's graceful shutdown.

This problem doesn't occur with uvloop==0.10.2.

I'm suspecting the commit 124e981bc90fbe2814dd1efd051e5b5a394cf1df because this change seems not to conform to the following spec:

asyncio.Server.close()
Stop serving: close listening sockets and set the sockets attribute to None.
The sockets that represent existing incoming client connections are left open.

bug

Most helpful comment

Fixed in uvloop 0.11.1. Thanks for working on this!

All 6 comments

Can you submit a PR to revert that commit and maybe write a unittest?

I wrote a test and then reverted the 124e981bc90fbe2814dd1efd051e5b5a394cf1df, but the test still fails with uvloop.
I'll investigate further and write a PR.

Thanks!

Sorry, I didn鈥檛 remove the generated .c file.

After running python3 setup.py bulid_ext --cython-always, the reverted revision passed the test.

Can we have a bugfix release?

Fixed in uvloop 0.11.1. Thanks for working on this!

Was this page helpful?
0 / 5 - 0 ratings