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

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 PyFatalError() if the domain is invalid.

I don't like PyFatalError(), 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