From 82c46f223823e8359ee2b788a83eac0ab82c912a Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 4 Oct 2008 00:14:02 +0200 Subject: do not cleanup staticly allocated memory unless we are in valgrind mode --- src/pulsecore/flist.h | 3 +++ src/pulsecore/log.c | 3 +++ src/pulsecore/thread.h | 3 +++ 3 files changed, 9 insertions(+) (limited to 'src') diff --git a/src/pulsecore/flist.h b/src/pulsecore/flist.h index 2d8422f9..512dd357 100644 --- a/src/pulsecore/flist.h +++ b/src/pulsecore/flist.h @@ -26,6 +26,7 @@ #include #include +#include /* A multiple-reader multipler-write lock-free free list implementation */ @@ -56,6 +57,8 @@ void* pa_flist_pop(pa_flist*l); } \ static void name##_flist_destructor(void) PA_GCC_DESTRUCTOR; \ static void name##_flist_destructor(void) { \ + if (!pa_in_valgrind()) \ + return; \ if (name##_flist.flist) \ pa_flist_free(name##_flist.flist, (free_cb)); \ } \ diff --git a/src/pulsecore/log.c b/src/pulsecore/log.c index d7318081..b1de6966 100644 --- a/src/pulsecore/log.c +++ b/src/pulsecore/log.c @@ -85,6 +85,9 @@ void pa_log_set_ident(const char *p) { /* To make valgrind shut up. */ static void ident_destructor(void) PA_GCC_DESTRUCTOR; static void ident_destructor(void) { + if (!pa_in_valgrind()) + return; + pa_xfree(log_ident); pa_xfree(log_ident_local); } diff --git a/src/pulsecore/thread.h b/src/pulsecore/thread.h index 87e850d6..eabe9ba4 100644 --- a/src/pulsecore/thread.h +++ b/src/pulsecore/thread.h @@ -25,6 +25,7 @@ #include #include +#include #ifndef PACKAGE #error "Please include config.h before including this file!" @@ -69,6 +70,8 @@ void *pa_tls_set(pa_tls *t, void *userdata); static void name##_tls_destructor(void) PA_GCC_DESTRUCTOR; \ static void name##_tls_destructor(void) { \ static void (*_free_cb)(void*) = free_cb; \ + if (!pa_in_valgrind()) \ + return; \ if (!name##_tls.tls) \ return; \ if (_free_cb) { \ -- cgit