Hi, I'm trying Trollius on Windows. I have an issue with the test: test_events.ProactorEventLoopTests.test_create_server_sock()
It raises a socket.error(WSAENOTSOCK). Scenario: ------- (1) - create an event loop (windows proactor) - create a listening socket - serve on this socket - IocpProactor creates an overlapped operation (*) and then creates a future connected to this overlapped (2) - connect a client to the socket - The overlapped operation (*) is awaken - client send data - client closes its socket (3) - close the server (4) - run the loop - the future of the overlapped operation (*) is awaken, even if the client socket is already closed - the future raises an error because it tries to accept on a closed socket ------- I didn't understand who is responsible of accepting the socket (proactor, the event loop, the server?). The future of the overlapped operation (*) should be cancelled at step (3). Who should cancel it? Proactor, the event loop or the server? Trollius uses currently a workaround for this issue: run briefly the event loop... because this workaround logs an error with the select event loop (which is correct, an exception is not catched). Victor
