MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / signal_memory_cleanup_fn

Function signal_memory_cleanup_fn

test/memory.cpp:723–739  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

721}
722
723af_err signal_memory_cleanup_fn(af_memory_manager manager) {
724 auto *payload = getMemoryManagerPayload<E2ETestPayload>(manager);
725 // Free unlocked memory
726 std::vector<void *> freed;
727 for (auto &entry : payload->table) {
728 int isUserLocked;
729 is_user_locked_fn(manager, &isUserLocked, entry.first);
730 if (!isUserLocked) {
731 void *ptr = entry.first;
732 af_memory_manager_native_free(manager, ptr);
733 payload->totalBytes -= payload->table[entry.first];
734 freed.push_back(entry.first);
735 }
736 }
737 for (auto ptr : freed) { payload->table.erase(ptr); }
738 return AF_SUCCESS;
739}
740
741af_err print_info_fn(af_memory_manager manager, char *c, int b) {
742 auto *payload = getMemoryManagerPayload<E2ETestPayload>(manager);

Callers 1

alloc_fnFunction · 0.85

Calls 2

is_user_locked_fnFunction · 0.85

Tested by

no test coverage detected