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.

classification
Title: PEP 3121, 384 Refactoring applied to winapi module
Type: resource usage Stage: resolved
Components: Extension Modules Versions: Python 3.4
process
Status: closed Resolution: fixed
Dependencies: Superseder: Py_Finalize() doesn't clear all Python objects at exit
View: 1635741
Assigned To: Nosy List: Robin.Schreiber, astrand, effbot, loewis, sbt, vstinner
Priority: normal Keywords: patch, pep3121

Created on 2012-08-20 09:39 by Robin.Schreiber, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
_winapi_pep3121-384_v0.patch Robin.Schreiber, 2012-08-20 09:39
_winapi_pep3121-384_v1.patch Robin.Schreiber, 2012-08-20 09:50
Pull Requests
URL Status Linked Edit
PR 15773 nanjekyejoannah, 2019-09-09 12:53
Messages (6)
msg168639 - (view) Author: Robin Schreiber (Robin.Schreiber) * (Python triager) Date: 2012-08-20 09:39
Changes proposed in PEP3121 and PEP384 have now been applied to the winapi module!
msg168640 - (view) Author: Robin Schreiber (Robin.Schreiber) * (Python triager) Date: 2012-08-20 09:50
Forgot to change the macro definition...
msg168658 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-08-20 13:17
I don't see why you made has_CancelIoEx part of the module state.  Availability of CancelIoEx only depends on the version of Windows you have, so it will not change if you reload the module.

BTW, I think you forgot to delete the has_CancelIoEx global, and to initialize winapi__state(m)->has_CancelIoEx to -1.
msg168668 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-08-20 15:01
In addition, I plan to actively drop Windows 2000 support post 3.3, so CancelIO can be presumed to be present.
msg168717 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-08-20 23:14
> In addition, I plan to actively drop Windows 2000 support post 3.3, so 
> CancelIO can be presumed to be present.

The function at issue is CancelIoEx() (introduced in Vista) not CancelIo().

I assume WinXP will still be supported?
msg376482 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-09-07 13:46
Fixed by:

commit 2aabc3200bf03d2ec1aa987e1e20db704948111e (HEAD -> master, upstream/master)
Author: Mohamed Koubaa <koubaa.m@gmail.com>
Date:   Mon Sep 7 08:12:40 2020 -0500

    bpo-1635741: Port _overlapped module to multi-phase init (GH-22051)
    
    Port the _overlapped extension module to multi-phase initialization (PEP 489).
History
Date User Action Args
2022-04-11 14:57:34adminsetgithub: 59938
2020-09-07 13:46:46vstinnersetstatus: open -> closed

superseder: Py_Finalize() doesn't clear all Python objects at exit

nosy: + vstinner
messages: + msg376482
resolution: fixed
stage: patch review -> resolved
2019-09-09 12:53:45nanjekyejoannahsetkeywords: + patch
stage: patch review
pull_requests: + pull_request15427
2012-11-08 13:25:38Robin.Schreibersetkeywords: + pep3121, - patch
2012-08-27 03:49:13belopolskylinkissue15787 dependencies
2012-08-20 23:14:48sbtsetmessages: + msg168717
2012-08-20 15:01:02loewissetmessages: + msg168668
2012-08-20 13:17:14sbtsetnosy: + sbt
messages: + msg168658
2012-08-20 09:50:02Robin.Schreibersetfiles: + _winapi_pep3121-384_v1.patch

messages: + msg168640
2012-08-20 09:39:29Robin.Schreibercreate