diff --git a/ChangeLog b/ChangeLog index 21f0cb0571..d48140a383 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu May 29 14:46:00 EST 2008 Daniel P. Berrange + + * src/memory.h, src/memory.c, tests/testutils.c: Pass allocation + number to hook callback + Thu May 29 14:45:00 EST 2008 Daniel P. Berrange * src/buf.c: Convert to use new memory allocation APIs diff --git a/src/memory.c b/src/memory.c index 5a55f2acd4..e044b859c1 100644 --- a/src/memory.c +++ b/src/memory.c @@ -30,7 +30,7 @@ static int testMallocNext = 0; static int testMallocFailFirst = 0; static int testMallocFailLast = 0; -static void (*testMallocHook)(void*) = NULL; +static void (*testMallocHook)(int, void*) = NULL; static void *testMallocHookData = NULL; void virAllocTestInit(void) @@ -45,7 +45,7 @@ int virAllocTestCount(void) return testMallocNext - 1; } -void virAllocTestHook(void (*func)(void*), void *data) +void virAllocTestHook(void (*func)(int, void*), void *data) { testMallocHook = func; testMallocHookData = data; @@ -69,7 +69,7 @@ static int virAllocTestFail(void) testMallocNext <= testMallocFailLast; if (fail && testMallocHook) - (testMallocHook)(testMallocHookData); + (testMallocHook)(testMallocNext, testMallocHookData); testMallocNext++; return fail; diff --git a/src/memory.h b/src/memory.h index 2331b11c11..5e9af20d65 100644 --- a/src/memory.h +++ b/src/memory.h @@ -83,7 +83,7 @@ void virFree(void *ptrptr); void virAllocTestInit(void); int virAllocTestCount(void); void virAllocTestOOM(int n, int m); -void virAllocTestHook(void (*func)(void*), void *data); +void virAllocTestHook(void (*func)(int, void*), void *data); #endif diff --git a/tests/testutils.c b/tests/testutils.c index da24093ee0..6eea4981ff 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -293,7 +293,7 @@ virtTestErrorFuncQuiet(void *data ATTRIBUTE_UNUSED, { } static void -virtTestErrorHook(void *data ATTRIBUTE_UNUSED) +virtTestErrorHook(int n, void *data ATTRIBUTE_UNUSED) { #if TEST_OOM_TRACE void *trace[30]; @@ -304,7 +304,7 @@ virtTestErrorHook(void *data ATTRIBUTE_UNUSED) ntrace = backtrace(trace, ntrace); symbols = backtrace_symbols(trace, ntrace); if (symbols) { - fprintf(stderr, "Failing an allocation at:\n"); + fprintf(stderr, "Failing allocation %d at:\n", n); for (i = 0 ; i < ntrace ; i++) { if (symbols[i]) fprintf(stderr, " TRACE: %s\n", symbols[i]);