do not cleanup staticly allocated memory unless we are in valgrind mode

This commit is contained in:
Lennart Poettering 2008-10-04 00:14:02 +02:00
parent 3c193520ee
commit 82c46f2238
3 changed files with 9 additions and 0 deletions

View file

@ -26,6 +26,7 @@
#include <pulse/gccmacro.h>
#include <pulsecore/once.h>
#include <pulsecore/core-util.h>
/* 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)); \
} \

View file

@ -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);
}

View file

@ -25,6 +25,7 @@
#include <pulse/def.h>
#include <pulsecore/once.h>
#include <pulsecore/core-util.h>
#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) { \