Arrange to export the _PyMalloc_{Malloc, Realloc, Free} entry points. On
Windows some modules are considered (by me, and I don't care what anyone else thinks about this <wink>) to be part of "the core" despite that they happen to be compiled into separate DLLs (the "to DLL or not to DLL?" question on Windows is nearly arbitrary). Making the pymalloc entry points available to them allows the Windows build to complete without incident when WITH_PYMALLOC is #define'd. Note that this isn't unprecedented. Other "private API" functions we export include _PySequence_IterSearch, _PyEval_SliceIndex, _PyCodec_Lookup, _Py_ZeroStruct, _Py_TrueStruct, _PyLong_New and _PyModule_Clear.
This commit is contained in:
parent
c63a396c5f
commit
fbb556df15
|
@ -92,9 +92,9 @@ extern DL_IMPORT(void) PyMem_Free(void *);
|
|||
|
||||
/* pymalloc (private to the interpreter) */
|
||||
#ifdef WITH_PYMALLOC
|
||||
void *_PyMalloc_Malloc(size_t nbytes);
|
||||
void *_PyMalloc_Realloc(void *p, size_t nbytes);
|
||||
void _PyMalloc_Free(void *p);
|
||||
DL_IMPORT(void *) _PyMalloc_Malloc(size_t nbytes);
|
||||
DL_IMPORT(void *) _PyMalloc_Realloc(void *p, size_t nbytes);
|
||||
DL_IMPORT(void) _PyMalloc_Free(void *p);
|
||||
#define _PyMalloc_MALLOC _PyMalloc_Malloc
|
||||
#define _PyMalloc_REALLOC _PyMalloc_Realloc
|
||||
#define _PyMalloc_FREE _PyMalloc_Free
|
||||
|
|
Loading…
Reference in New Issue