This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients brian.curtin, jnoller, pitrou, python-dev, sbt, tim.golden
Date 2011-11-23.16:01:25
SpamBayes Score 5.4590337e-06
Marked as misclassified No
Message-id <1322063778.3322.2.camel@localhost.localdomain>
In-reply-to <1322048662.68.0.632615343915.issue12328@psf.upfronthosting.co.za>
Content
> There are three "expected" error conditions:
> 
> ERROR_OPERATION_ABORTED: operation stopped by CancelIo(Ex)()
> ERROR_MORE_DATA: operation complete, but only got part of the message
> ERROR_IO_INCOMPLETE: operation still has not finished
> 
> In the win32 api you need GetLastError() to distinguish between these
> cases, but maybe we can expose something better.

It seems to me that ERROR_OPERATION_ABORTED is a "true" error, and so
should raise an exception.

> The cases aren't really mutually exclusive: if you call ov.cancel()
> you *must* still do ov.GetOverlappedResult(True) to check for the race
> where the operation completes after the wait times out, but before
> ov.cancel() can stop it.  (Your original implementation had that bug
> -- see point (5) in my original bug report.)

Ah, right. Thanks for the explanation.
History
Date User Action Args
2011-11-23 16:01:29pitrousetrecipients: + pitrou, tim.golden, jnoller, brian.curtin, python-dev, sbt
2011-11-23 16:01:25pitroulinkissue12328 messages
2011-11-23 16:01:25pitroucreate