sss added the comment:
Thank you. This looks good to me
--
___
Python tracker
<http://bugs.python.org/issue27585>
___
___
Python-bugs-list mailing list
Unsub
sss added the comment:
Yes I'm running python-3.5.2.
--
___
Python tracker
<http://bugs.python.org/issue27585>
___
___
Python-bugs-list mailing list
Unsubscr
sss added the comment:
Yes, await asyncio.sleep(0) does fix it, but it would be weird if I'm supposed
to put those all over my code. I made a new reproducer now that uses 2 threads
in case it's not allowed to take the same lock twice from the same thread.
--
Added
New submission from sss:
The lock.py file prints
DEADLOCK HERE
_locked: False
_waiters: deque([])
I think the problem is that acquire() will block because of the cancelled
future in _waiters, but release() has already ran so no one will wake it up.
--
components: asyncio
files