Skip to content

Commit

Permalink
Link the libuv _corecffi.pyd to the minor-version Python DLL on Windows.
Browse files Browse the repository at this point in the history
  • Loading branch information
ClaudioHoffmann authored and jamadden committed Dec 7, 2021
1 parent ecf874c commit 7e25b8a
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/gevent/libuv/_corecffi_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,14 @@ def _add_library(name):
if os.uname().sysname != 'OS400':
_add_library('perfstat')
elif WIN:
# All other gevent .pyd files link to the specific minor-version Python
# DLL, so we should do the same here. In virtual environments that don't
# contain the major-version python?.dll stub, _corecffi.pyd would otherwise
# cause the Windows DLL loader to search the entire PATH for a DLL with
# that name. This might end up bringing a second, ABI-incompatible Python
# version into the process, which can easily lead to crashes.
_define_macro('_CFFI_NO_LIMITED_API', 1)

_define_macro('_GNU_SOURCE', 1)
_define_macro('WIN32', 1)
_define_macro('_CRT_SECURE_NO_DEPRECATE', 1)
Expand Down

0 comments on commit 7e25b8a

Please sign in to comment.