[Python-Dev] RFC: PEP 445: Add new APIs to customize Python memory allocators

Victor Stinner victor.stinner at gmail.com
Wed Jun 19 17:49:02 CEST 2013


2013/6/19 Antoine Pitrou <solipsis at pitrou.net>:
> On Wed, 19 Jun 2013 17:24:21 +0200
>> >> Drawback: the caller has to check if the result is 0, or handle the
>> >> error.
>> >
>> > Or you can just call Py_FatalError() if the domain is invalid.
>>
>> I don't like Py_FatalError(), especially when Python is embedded. It's
>> safer to return -1 and expect the caller to check for the error case.
>
> I don't think you need to check for errors. The domain is always one of
> the existing constants, i.e. it should be hard-coded in the source, not
> computed.

Imagine that PyMem_GetBlockAllocator() is part of the stable ABI and
that a new domain is added to Python 3.5. An application is written
for Python 3.5 and is run with Python 3.4: how would the application
notice that PyMem_GetBlockAllocator() does not know the new domain?

"I don't think you need to check for errors."

Do you mean that an unknown domain should be simply ignored?

Victor


More information about the Python-Dev mailing list