Files
zulip/zerver/lib/async_utils.py
Anders Kaseorg 5de2969275 requirements: Upgrade Python requirements.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
(cherry picked from commit f29553d809)
2022-05-16 12:05:23 -07:00

17 lines
629 B
Python

import asyncio
class NoAutoCreateEventLoopPolicy(asyncio.DefaultEventLoopPolicy):
"""
By default asyncio.get_event_loop() automatically creates an event
loop for the main thread if one isn't currently installed. Since
Django intentionally uninstalls the event loop within
sync_to_async, that autocreation proliferates confusing extra
event loops that will never be run. It is also deprecated in
Python 3.10. This policy disables it so we don't rely on it by
accident.
"""
def get_event_loop(self) -> asyncio.AbstractEventLoop: # nocoverage
return asyncio.get_running_loop()