On 17Nov2017 1601, Victor Stinner wrote: > In short, it means that using the "Python runtime" before it's > initialized by _PyRuntime_Initialize() is now likely to crash. For > example, calling PyMem_RawMalloc(), before calling > _PyRuntime_Initialize(), now calls the function NULL: dereference a > NULL pointer, and so immediately crash with a segmentation fault. > > I'm writing this email to ask if this change is an issue or not to > embedded Python and the Python C API. Is it still possible to call > "all" functions of the C API before calling Py_Initialize()? I thought it was never possible to call most of the C API without initializing, except for certain APIs that are documented as being safe. I've certainly crashed many times calling C APIs before initialization. My intuition was that the only safe ones before were those that were used to initialize the runtime (Py_SetPath and such), which are also the ones being "upgraded" as part of this work. If we have a good idea of which ones are [un]safe now, perhaps we should tag them explicitly in the docs? Do we know which ones are [un]safe? Cheers, Steve
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4