Skip to content

Commit 7236f20

Browse files
committed
fixes: #222
1 parent ccd578b commit 7236f20

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

idom/core/layout.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,17 +268,18 @@ def __repr__(self) -> str:
268268

269269
class _ElementQueue:
270270

271-
__slots__ = "_queue", "_pending"
271+
__slots__ = "_loop", "_queue", "_pending"
272272

273273
def __init__(self) -> None:
274+
self._loop = asyncio.get_event_loop()
274275
self._queue: "asyncio.Queue[AbstractElement]" = asyncio.Queue()
275276
self._pending: Set[int] = set()
276277

277278
def put(self, element: AbstractElement) -> None:
278279
element_id = id(element)
279280
if element_id not in self._pending:
280281
self._pending.add(element_id)
281-
self._queue.put_nowait(element)
282+
self._loop.call_soon_threadsafe(self._queue.put_nowait, element)
282283
return None
283284

284285
async def get(self) -> AbstractElement:

0 commit comments

Comments
 (0)