From 40ac246939d8e7bf8138c85ea00f30beece094d5 Mon Sep 17 00:00:00 2001
From: Noriko Hosoi <nhosoi@jiji.usersys.redhat.com>
Date: Wed, 31 Aug 2011 11:09:42 -0700
Subject: [PATCH] Introducing an environment variable USE_VALGRIND to clean up
 the entry cache and dn cache on exit.

---
 ldap/servers/slapd/back-ldbm/dblayer.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/ldap/servers/slapd/back-ldbm/dblayer.c b/ldap/servers/slapd/back-ldbm/dblayer.c
index b3931a4..b158311 100644
--- a/ldap/servers/slapd/back-ldbm/dblayer.c
+++ b/ldap/servers/slapd/back-ldbm/dblayer.c
@@ -2589,16 +2589,19 @@ int dblayer_instance_close(backend *be)
     if (NULL == inst)
         return -1;
 
-#if defined(_USE_VALGRIND)
-    /* When running a memory leak checking tool (e.g., valgrind),
-       it reduces the noise by enabling this code. */
-    LDAPDebug1Arg(LDAP_DEBUG_ANY, "%s: Cleaning up entry cache\n",
-                                  inst->inst_name);
-    cache_clear(&inst->inst_cache, CACHE_TYPE_ENTRY);
-    LDAPDebug1Arg(LDAP_DEBUG_ANY, "%s: Cleaning up dn cache\n",
-                                  inst->inst_name);
-    cache_clear(&inst->inst_dncache, CACHE_TYPE_DN);
-#endif
+    if (getenv("USE_VALGRIND")) {
+        /* 
+         * if any string is set to an environment variable USE_VALGRIND,
+         * when running a memory leak checking tool (e.g., valgrind),
+         * it reduces the noise by enabling this code.
+         */
+        LDAPDebug1Arg(LDAP_DEBUG_ANY, "%s: Cleaning up entry cache\n",
+                                      inst->inst_name);
+        cache_clear(&inst->inst_cache, CACHE_TYPE_ENTRY);
+        LDAPDebug1Arg(LDAP_DEBUG_ANY, "%s: Cleaning up dn cache\n",
+                                      inst->inst_name);
+        cache_clear(&inst->inst_dncache, CACHE_TYPE_DN);
+    }
 
     if (attrcrypt_cleanup_private(inst)) {
         LDAPDebug(LDAP_DEBUG_ANY,
-- 
1.7.4.4
