New submission from STINNER Victor:

Currently, IocpProactor.connect_pipe() is implemented with QueueUserWorkItem() 
which starts a thread that cannot be interrupted. Because of that, this 
function requires special cases in _register() and close() methods of 
IocpProactor.

While fixing the issue #23095, I saw that IocpProactor.connect_pipe() causes 
"GetQueuedCompletionStatus() returned an unexpected event" messages to be 
logged, but also to hang the test suite.

I propose a solution to reimplement IocpProactor.connect_pipe() without a 
thread:
https://code.google.com/p/tulip/issues/detail?id=197

It should fix this issue.

----------
components: Windows, asyncio
messages: 234448
nosy: gvanrossum, haypo, steve.dower, tim.golden, yselivanov, zach.ware
priority: normal
severity: normal
status: open
title: [Windows] asyncio: race condition related in IocpProactor.connect_pipe()
versions: Python 3.4, Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23293>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to