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 sbt
Recipients neologix, sbt, vstinner
Date 2013-11-13.10:08:27
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1384337308.12.0.239126291231.issue19565@psf.upfronthosting.co.za>
In-reply-to
Content
If you have a pending overlapped operation then the associated buffer should not be deallocated until that operation is complete, or else you are liable to get a crash or memory corruption.

Unfortunately WinXP provides no reliable way to cancel a pending operation -- there is CancelIo() but that just cancels operations started by the *current thread* on a handle.  Vista introduced CancelIoEx() which allows cancellation of a specific overlapped op.

These warnings happen in the deallocator because the buffer has to be freed.

For Vista and later versions of Windows these warnings are presumably unnecessary since CancelIoEx() is used.

For WinXP the simplest thing may be to check if Py_Finalize is non-null and if so suppress the warning (possibly "leaking" the buffer since we are exiting anyway).
History
Date User Action Args
2013-11-13 10:08:28sbtsetrecipients: + sbt, vstinner, neologix
2013-11-13 10:08:28sbtsetmessageid: <1384337308.12.0.239126291231.issue19565@psf.upfronthosting.co.za>
2013-11-13 10:08:28sbtlinkissue19565 messages
2013-11-13 10:08:27sbtcreate