Mercurial > cpython-lru_cache-weakref
diff Python/dynload_win.c @ 76898:38d7d944370e
Fix #13210. Port the Windows build from VS2008 to VS2010.
| author | Brian Curtin <brian@python.org> |
|---|---|
| date | Sun, 13 May 2012 11:19:23 -0500 |
| parents | 257cbd2fac38 |
| children | 4db1b0bb3683 |
line wrap: on
line diff
--- a/Python/dynload_win.c Sun May 13 11:01:36 2012 +0200 +++ b/Python/dynload_win.c Sun May 13 11:19:23 2012 -0500 @@ -12,8 +12,10 @@ #include <windows.h> // "activation context" magic - see dl_nt.c... +#if HAVE_SXS extern ULONG_PTR _Py_ActivateActCtx(); void _Py_DeactivateActCtx(ULONG_PTR cookie); +#endif const char *_PyImport_DynLoadFiletab[] = { #ifdef _DEBUG @@ -191,18 +193,24 @@ { HINSTANCE hDLL = NULL; unsigned int old_mode; +#if HAVE_SXS ULONG_PTR cookie = 0; +#endif /* Don't display a message box when Python can't load a DLL */ old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); +#if HAVE_SXS cookie = _Py_ActivateActCtx(); +#endif /* We use LoadLibraryEx so Windows looks for dependent DLLs in directory of pathname first. */ /* XXX This call doesn't exist in Windows CE */ hDLL = LoadLibraryExW(wpathname, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); +#if HAVE_SXS _Py_DeactivateActCtx(cookie); +#endif /* restore old error mode settings */ SetErrorMode(old_mode);
