[Python-checkins] bpo-37025: AddRefActCtx() shouldn't be checked for failure (GH-16897)

Steve Dower webhook-mailer at python.org
Wed Oct 23 14:16:04 EDT 2019


https://github.com/python/cpython/commit/009a6928727b23344613ab6a9a52b9da56ab905c
commit: 009a6928727b23344613ab6a9a52b9da56ab905c
branch: 2.7
author: Zackery Spytz <zspytz at gmail.com>
committer: Steve Dower <steve.dower at python.org>
date: 2019-10-23T11:15:55-07:00
summary:

bpo-37025: AddRefActCtx() shouldn't be checked for failure (GH-16897)

AddRefActCtx() does not return a value.

files:
A Misc/NEWS.d/next/Windows/2019-10-04-03-46-36.bpo-37025.tLheEe.rst
M PC/dl_nt.c

diff --git a/Misc/NEWS.d/next/Windows/2019-10-04-03-46-36.bpo-37025.tLheEe.rst b/Misc/NEWS.d/next/Windows/2019-10-04-03-46-36.bpo-37025.tLheEe.rst
new file mode 100644
index 0000000000000..7c0f9dc017705
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2019-10-04-03-46-36.bpo-37025.tLheEe.rst
@@ -0,0 +1,2 @@
+``AddRefActCtx()`` was needlessly being checked for failure in
+``PC/dl_nt.c``.
diff --git a/PC/dl_nt.c b/PC/dl_nt.c
index ef1ce0934c186..3e58bacb55ff2 100644
--- a/PC/dl_nt.c
+++ b/PC/dl_nt.c
@@ -33,8 +33,8 @@ const char *PyWin_DLLVersionString = dllVersionBuffer;
 typedef BOOL (WINAPI * PFN_GETCURRENTACTCTX)(HANDLE *);
 typedef BOOL (WINAPI * PFN_ACTIVATEACTCTX)(HANDLE, ULONG_PTR *);
 typedef BOOL (WINAPI * PFN_DEACTIVATEACTCTX)(DWORD, ULONG_PTR);
-typedef BOOL (WINAPI * PFN_ADDREFACTCTX)(HANDLE);
-typedef BOOL (WINAPI * PFN_RELEASEACTCTX)(HANDLE);
+typedef void (WINAPI * PFN_ADDREFACTCTX)(HANDLE);
+typedef void (WINAPI * PFN_RELEASEACTCTX)(HANDLE);
 
 // locals and function pointers for this activation context magic.
 static HANDLE PyWin_DLLhActivationContext = NULL; // one day it might be public
@@ -90,9 +90,14 @@ BOOL    WINAPI  DllMain (HANDLE hInst,
             // and capture our activation context for use when loading extensions.
             _LoadActCtxPointers();
             if (pfnGetCurrentActCtx && pfnAddRefActCtx)
-                if ((*pfnGetCurrentActCtx)(&PyWin_DLLhActivationContext))
-                    if (!(*pfnAddRefActCtx)(PyWin_DLLhActivationContext))
-                        OutputDebugString("Python failed to load the default activation context\n");
+                if ((*pfnGetCurrentActCtx)(&PyWin_DLLhActivationContext)) {
+                    (*pfnAddRefActCtx)(PyWin_DLLhActivationContext);
+                }
+                else {
+                    OutputDebugString("Python failed to load the default "
+                                      "activation context\n");
+                    return FALSE;
+                }
             break;
 
         case DLL_PROCESS_DETACH:



More information about the Python-checkins mailing list