-
-
Notifications
You must be signed in to change notification settings - Fork 32k
[WIP] bpo-35265: Add _PyConfigCtx #10574
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
* Add _PyConfigCtx structure * Add "ctx" context (_PyConfigCtx) to _PyCoreConfig, _PyPathConfig, _Py_PreInit and PyCalculatePath. * Move _PyCoreConfig.utf8_mode into _PyConfigCtx * Replace _PyCoreConfig_INIT with _PyCoreConfig_Init() * Replace _PyPathConfig_INIT with _PyPathConfig_StaticInit() * Add new functions: * _PyMem_RawMallocCtx() * _PyMem_RawCallocCtx() * _PyMem_RawReallocCtx() * _PyMem_RawFreeCtx() * Add ctx paramter to functions: * _Py_DecodeLocaleEx() * _Py_EncodeLocaleEx() * _PyMem_RawWcsdup() * Use ctx in Python initialization code
"./python -m test -v test_cmd_line -m test_pythonmalloc" fails. There is very likely bugs somewhere in my change, but I mostly wrote this PR as proof-of-concept. It's not ready to be reviewed nor to be merged. |
Fix "initializer is not a constant" error.
Honestly, I'm not convinced that the change is worth it. It looks like a giant complication for a very specific use case, whereas the current _PyMem_SetDefaultAllocator() solution "works". I close the PR. |
Add _PyConfigCtx structure
Add "ctx" context (_PyConfigCtx) to _PyCoreConfig, _PyPathConfig,
_Py_PreInit and PyCalculatePath.
Move _PyCoreConfig.utf8_mode into _PyConfigCtx
Replace _PyCoreConfig_INIT with _PyCoreConfig_Init()
Replace _PyPathConfig_INIT with _PyPathConfig_StaticInit()
Add new functions:
Add ctx paramter to functions:
Use ctx in Python initialization code
https://bugs.python.org/issue35265