blob: 88bb87360bcbed0ff902e734eda68a7eab7666f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
diff --git a/src/twisted/internet/asyncioreactor.py b/src/twisted/internet/asyncioreactor.py
index cd1cf65f05d..03b2d8ecb24 100644
--- a/src/twisted/internet/asyncioreactor.py
+++ b/src/twisted/internet/asyncioreactor.py
@@ -9,7 +9,7 @@
import errno
import sys
-from asyncio import AbstractEventLoop, get_event_loop
+from asyncio import AbstractEventLoop, get_running_loop, new_event_loop, set_event_loop
from typing import Dict, Optional, Type
from zope.interface import implementer
@@ -47,7 +47,11 @@ class AsyncioSelectorReactor(PosixReactorBase):
def __init__(self, eventloop: Optional[AbstractEventLoop] = None):
if eventloop is None:
- _eventloop: AbstractEventLoop = get_event_loop()
+ try:
+ _eventloop: AbstractEventLoop = get_running_loop()
+ except RuntimeError:
+ _eventloop = new_event_loop()
+ set_event_loop(_eventloop)
else:
_eventloop = eventloop
|