New function:

void MEM_callbackmemlist(void (*func)(void*));

Will call the function passed as argument with all allocated address as parameter. Useful for debuging.
This commit is contained in:
Martin Poirier 2009-11-10 21:33:53 +00:00
parent 91446e9aad
commit 21385eb4ec
2 changed files with 21 additions and 0 deletions

View File

@ -102,6 +102,9 @@ extern "C" {
* blocks. */
void MEM_printmemlist(void);
/** calls the function on all allocated memory blocks. */
void MEM_callbackmemlist(void (*func)(void*));
/** Print statistics about memory usage */
void MEM_printmemlist_stats(void);

View File

@ -460,6 +460,24 @@ static void MEM_printmemlist_internal( int pydict )
mem_unlock_thread();
}
void MEM_callbackmemlist(void (*func)(void*)) {
MemHead *membl;
mem_lock_thread();
membl = membase->first;
if (membl) membl = MEMNEXT(membl);
while(membl) {
func(membl+1);
if(membl->next)
membl= MEMNEXT(membl->next);
else break;
}
mem_unlock_thread();
}
void MEM_printmemlist( void ) {
MEM_printmemlist_internal(0);
}