PEP 445: fix examples
This commit is contained in:
parent
ef6da7e6df
commit
5ad57e290b
32
pep-0445.txt
32
pep-0445.txt
|
@ -125,10 +125,10 @@ KB called "arenas".
|
|||
|
||||
Default allocators:
|
||||
|
||||
* ``PYALLOC_PYMEM_RAW``, ``PYALLOC_PYMEM``: ``malloc()``,
|
||||
* ``PYMEM_DOMAIN_RAW``, ``PYMEM_DOMAIN_MEM``: ``malloc()``,
|
||||
``realloc()``, ``free()`` (and *ctx* is NULL); call ``malloc(1)`` when
|
||||
requesting zero bytes
|
||||
* ``PYALLOC_PYOBJECT``: *pymalloc* allocator which fall backs on
|
||||
* ``PYMEM_DOMAIN_OBJ``: *pymalloc* allocator which fall backs on
|
||||
``PyMem_Malloc()`` for allocations larger than 512 bytes
|
||||
* *pymalloc* arena allocator: ``mmap()``, ``munmap()`` (and *ctx* is
|
||||
NULL), or ``malloc()`` and ``free()`` if ``mmap()`` is not available
|
||||
|
@ -226,8 +226,8 @@ and 10 bytes per memory mapping::
|
|||
alloc.realloc = my_realloc;
|
||||
alloc.free = my_free;
|
||||
|
||||
PyMem_SetAllocator(PYALLOC_PYMEM_RAW, &alloc);
|
||||
PyMem_SetAllocator(PYALLOC_PYMEM, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_MEM, &alloc);
|
||||
|
||||
arena.ctx = &arena_padding;
|
||||
arena.alloc = my_alloc_arena;
|
||||
|
@ -238,7 +238,7 @@ and 10 bytes per memory mapping::
|
|||
}
|
||||
|
||||
.. warning::
|
||||
Remove the call ``PyMem_SetAllocator(PYALLOC_PYMEM_RAW, &alloc)`` if
|
||||
Remove the call ``PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &alloc)`` if
|
||||
the new allocator is not thread-safe.
|
||||
|
||||
|
||||
|
@ -280,15 +280,15 @@ Dummy example wasting 2 bytes per memory block::
|
|||
alloc.realloc = my_realloc;
|
||||
alloc.free = my_free;
|
||||
|
||||
PyMem_SetAllocator(PYALLOC_PYMEM_RAW, &alloc);
|
||||
PyMem_SetAllocator(PYALLOC_PYMEM, &alloc);
|
||||
PyMem_SetAllocator(PYALLOC_PYOBJECT, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_MEM, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_OBJ, &alloc);
|
||||
|
||||
PyMem_SetupDebugHooks();
|
||||
}
|
||||
|
||||
.. warning::
|
||||
Remove the call ``PyMem_SetAllocator(PYALLOC_PYMEM_RAW, &alloc)`` if
|
||||
Remove the call ``PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &alloc)`` if
|
||||
the new allocator is not thread-safe.
|
||||
|
||||
|
||||
|
@ -344,22 +344,22 @@ Example to setup hooks on all memory allocators::
|
|||
alloc.malloc = hook_malloc;
|
||||
alloc.realloc = hook_realloc;
|
||||
alloc.free = hook_free;
|
||||
PyMem_GetAllocator(PYALLOC_PYMEM_RAW, &hook.raw);
|
||||
PyMem_GetAllocator(PYALLOC_PYMEM, &hook.mem);
|
||||
PyMem_GetAllocator(PYALLOC_PYOBJECT, &hook.obj);
|
||||
PyMem_GetAllocator(PYMEM_DOMAIN_RAW, &hook.raw);
|
||||
PyMem_GetAllocator(PYMEM_DOMAIN_MEM, &hook.mem);
|
||||
PyMem_GetAllocator(PYMEM_DOMAIN_OBJ, &hook.obj);
|
||||
|
||||
alloc.ctx = &hook.raw;
|
||||
PyMem_SetAllocator(PYALLOC_PYMEM_RAW, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &alloc);
|
||||
|
||||
alloc.ctx = &hook.mem;
|
||||
PyMem_SetAllocator(PYALLOC_PYMEM, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_MEM, &alloc);
|
||||
|
||||
alloc.ctx = &hook.obj;
|
||||
PyMem_SetAllocator(PYALLOC_PYOBJECT, &alloc);
|
||||
PyMem_SetAllocator(PYMEM_DOMAIN_OBJ, &alloc);
|
||||
}
|
||||
|
||||
.. warning::
|
||||
Remove the call ``PyMem_SetAllocator(PYALLOC_PYMEM_RAW, &alloc)`` if
|
||||
Remove the call ``PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &alloc)`` if
|
||||
hooks are not thread-safe.
|
||||
|
||||
.. note::
|
||||
|
|
Loading…
Reference in New Issue