1
Fork 0

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

AddRefActCtx() does not return a value.
This commit is contained in:
Zackery Spytz 2019-10-23 12:15:55 -06:00 committed by Steve Dower
parent 9978a9553b
commit 009a692872
2 changed files with 12 additions and 5 deletions

View File

@ -0,0 +1,2 @@
``AddRefActCtx()`` was needlessly being checked for failure in
``PC/dl_nt.c``.

View File

@ -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: