bpo-40422: move _Py_closerange to core by kevans91 · Pull Request #22680 · python/cpython

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

kevans91

This API is relatively lightweight and organizationally, given that it's
used by multiple modules, it makes sense to move it to fileutils.

https://bugs.python.org/issue40422

This API is relatively lightweight and organizationally, given that it's
used by multiple modules, it makes sense to move it to fileutils.

@gpshead

LGTM. Just leaving time for @vstinner to confirm this is what he had in mind. Victor: feel free to merge.

vstinner

@vstinner

I had originally started going that route, but either subprocess of posixmodule (I want to say subprocess) doesn't get built in the needed context for that (from memory, that header required some kind of pycore define).

It is made on purpose: the internal C API should not be used by 3rd party C extensions.

You can modify setup.py and Modules/Setup to define the Py_BUILD_CORE_BUILTIN macro. There are many examples in these files.

Requires making sure that _posixsubprocess is compiled with the appropriate
Py_BUIILD_CORE_BUILTIN macro.

@kevans91

Sure, easy enough; I've moved the declaration and defined Py_BUILD_CORE_{BUILTIN,MODULE} as appropriate. I made sure to test with Modules/Setup including the module as well.

vstinner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I just have a minor coding style suggestion.

Co-authored-by: Victor Stinner <vstinner@python.org>

@kevans91

Thanks for being patient with me here~ still getting used to the organization here, since I've only done drive-by optimization work on CPython.

@vstinner

Merged, thanks! Python will now be really efficient to close file descriptors on recent FreeBSD versions! :-D

xzy3 pushed a commit to xzy3/cpython that referenced this pull request

Oct 18, 2020
This API is relatively lightweight and organizationally, given that it's
used by multiple modules, it makes sense to move it to fileutils.

Requires making sure that _posixsubprocess is compiled with the appropriate
Py_BUIILD_CORE_BUILTIN macro.

adorilson pushed a commit to adorilson/cpython that referenced this pull request

Mar 13, 2021
This API is relatively lightweight and organizationally, given that it's
used by multiple modules, it makes sense to move it to fileutils.

Requires making sure that _posixsubprocess is compiled with the appropriate
Py_BUIILD_CORE_BUILTIN macro.