Skip to content

Commit eba6c5c

Browse files
committed
Use threading.Event for _eventloop_set instead of anyio.Event
1 parent c353ddf commit eba6c5c

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

ipykernel/kernelapp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import zmq
2121
import zmq.asyncio
22-
from anyio import create_task_group, run
22+
from anyio import create_task_group, run, to_thread
2323
from IPython.core.application import ( # type:ignore[attr-defined]
2424
BaseIPythonApplication,
2525
base_aliases,
@@ -738,7 +738,7 @@ def start(self) -> None:
738738
return
739739

740740
async def _wait_to_enter_eventloop(self):
741-
await self.kernel._eventloop_set.wait()
741+
await to_thread.run_sync(self.kernel._eventloop_set.wait)
742742
await self.kernel.enter_eventloop()
743743

744744
async def main(self):

ipykernel/kernelbase.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
import psutil
3737
import zmq
38-
from anyio import TASK_STATUS_IGNORED, Event, create_task_group, sleep, to_thread
38+
from anyio import TASK_STATUS_IGNORED, create_task_group, sleep, to_thread
3939
from anyio.abc import TaskStatus
4040
from IPython.core.error import StdinNotImplementedError
4141
from jupyter_client.session import Session
@@ -226,7 +226,7 @@ def _parent_header(self):
226226
"list_subshell_request",
227227
]
228228

229-
_eventloop_set: Event = Event()
229+
_eventloop_set: threading.Event = threading.Event()
230230

231231
def __init__(self, **kwargs):
232232
"""Initialize the kernel."""
@@ -553,9 +553,8 @@ async def start(self, *, task_status: TaskStatus = TASK_STATUS_IGNORED) -> None:
553553
tg.start_soon(self.shell_main, None)
554554

555555
def stop(self):
556-
if not self._eventloop_set.is_set():
557-
# Stop the async task that is waiting for the eventloop to be set.
558-
self._eventloop_set.set()
556+
# Stop the async task that is waiting for the eventloop to be set.
557+
self._eventloop_set.set()
559558

560559
self.shell_stop.set()
561560
self.control_stop.set()

0 commit comments

Comments
 (0)