From: Jeremy F. <je...@go...> - 2003-06-17 15:44:01
|
On Tue, 2003-06-17 at 02:56, Stephane Donze wrote: > Is it possible to configure the errors reported by helgrind ? > > My multithreaded program uses object recycling to avoid wasting time in > malloc'ing tons of small objects, so that when a thread T1 uses an > object, it has often been allocated by another thread T2, and will > probably be reused by a thread T3 before being freed by a thread T4. As > a result, the error log produced by helgrind contains zillions of errors > like this: > > ==21303== Thread 28: > ==21303== Possible data race writing variable at 0x42DBE028 > ==21303== at 0x40971949: > [snip] > ==21303== by 0x404FC422: thread_wrapper (vg_libpthread.c:671) > ==21303== by 0x4009B27C: do__quit (vg_scheduler.c:2154) > ==21303== Address 0x42DBE028 is 4 bytes inside a block of size 232 > alloc'd by thread 1 > ==21303== at 0x400973AF: malloc (vg_clientfuncs.c:103) > ==21303== by 0x400978C2: realloc (vg_clientfuncs.c:268) > > > is there a simple way to tell helgrind not to report this kind of error > ? In your allocator, use VALGRIND_HG_CLEAN_MEMORY(addr, len) to tell Helgrind that you're recycling memory, and it should forget what it knew about it. J |