MCPcopy Create free account
hub / github.com/numpy/numpy / PyDataMem_UserFREE

Function PyDataMem_UserFREE

numpy/core/src/multiarray/alloc.c:479–499  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

477
478
479NPY_NO_EXPORT void
480PyDataMem_UserFREE(void *ptr, size_t size, PyObject *mem_handler)
481{
482 PyDataMem_Handler *handler = (PyDataMem_Handler *) PyCapsule_GetPointer(mem_handler, "mem_handler");
483 if (handler == NULL) {
484 WARN_NO_RETURN(PyExc_RuntimeWarning,
485 "Could not get pointer to 'mem_handler' from PyCapsule");
486 return;
487 }
488 PyTraceMalloc_Untrack(NPY_TRACE_DOMAIN, (npy_uintp)ptr);
489 handler->allocator.free(handler->allocator.ctx, ptr, size);
490 if (_PyDataMem_eventhook != NULL) {
491 NPY_ALLOW_C_API_DEF
492 NPY_ALLOW_C_API
493 if (_PyDataMem_eventhook != NULL) {
494 (*_PyDataMem_eventhook)(ptr, NULL, 0,
495 _PyDataMem_eventhook_user_data);
496 }
497 NPY_DISABLE_C_API
498 }
499}
500
501NPY_NO_EXPORT void *
502PyDataMem_UserRENEW(void *ptr, size_t size, PyObject *mem_handler)

Callers 5

array_data_setFunction · 0.85
array_setstateFunction · 0.85
_new_sortlikeFunction · 0.85
_new_argsortlikeFunction · 0.85
array_deallocFunction · 0.85

Calls 1

WARN_NO_RETURNFunction · 0.85

Tested by

no test coverage detected