--- Corinna Vinschen wrote: > On Mar 30 01:03, Patrick Samson wrote: > > >From msdn: > > "All I/O operations that are canceled will > complete > > with the error ERROR_OPERATION_ABORTED. All > completion > > notifications for the I/O operations will occur > > normally." > > Urgh, I mised that. > > > What's your feeling about: > > if (!CancelIo ((HANDLE) socket)) > > {...} > > else > > { > > if (WSAGetOverlappedResult (socket, &ovr, &len, > > FALSE, flags) && len != 0) > > ret = (int) len; > > else WSASetLastError (WSAEINTR); > > Did you try it?
Yes. It worked. I ran my test case this night for 30000 runs. > Yesterday I changed Cygwin to use > asynchronous I/O > instead of overlapped I/O so it now can do without > CancelIo. > However, two people reported hangs which don't occur > for me. If > if takes too long to track down, I guess I'll revert > to overlapped > I/O plus your patch. But I would be more happy with > a working > async I/O solution. Is it still worth? __________________________________ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/