You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.../python3.7/site-packages/trio_asyncio/base.py:718: TrioDeprecationWarning: trio.Event.clear is deprecated since Trio 0.12.0; use multiple Event objects or other synchronization primitives instead (python-trio/trio#637)
The deprecation references python-trio/trio#637 for more information. In short, Event.clear() is a foot gun that is prone to creating race conditions. The general recommendation is to create new events instead of clearing existing ones. It's not clear to me whether this recommendation would work in this circumstance:
The event is set as soon as its created, then cleared when control enter the asyncio main loop. This is an unsual way to use trio.Event, which makes me hesitant to say whether this is an easy to fix or not...
I also haven't checked if there are other uses of Event.clear() in the code.
The text was updated successfully, but these errors were encountered:
I'm getting this too. As a hack to remove the deprecation warning messages for the time being, I think it's pretty safe to put in the following code:
def clear_event(self):
assert not self._stopped.statisticts().tasks_waiting, "unable to clear event due to other waiters"
self._stopped = trio.Event()
At least then it will fail in an explicit way. I'm not planning on running more than 1 loop for the process lifetime of my app so I'm probably safe here.
I am getting a deprecation warning:
The deprecation references python-trio/trio#637 for more information. In short,
Event.clear()
is a foot gun that is prone to creating race conditions. The general recommendation is to create new events instead of clearing existing ones. It's not clear to me whether this recommendation would work in this circumstance:trio-asyncio/trio_asyncio/base.py
Line 718 in 4990c61
The event is set as soon as its created, then cleared when control enter the asyncio main loop. This is an unsual way to use
trio.Event
, which makes me hesitant to say whether this is an easy to fix or not...I also haven't checked if there are other uses of
Event.clear()
in the code.The text was updated successfully, but these errors were encountered: