mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			20 lines
		
	
	
		
			683 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			683 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import asyncio
 | 
						|
 | 
						|
from typing_extensions import override
 | 
						|
 | 
						|
 | 
						|
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.
 | 
						|
    """
 | 
						|
 | 
						|
    @override
 | 
						|
    def get_event_loop(self) -> asyncio.AbstractEventLoop:  # nocoverage
 | 
						|
        return asyncio.get_running_loop()
 |