]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common: add debug option to deliberately leak some memory 5871/head
authorSage Weil <sage@redhat.com>
Thu, 10 Sep 2015 14:35:11 +0000 (10:35 -0400)
committerSage Weil <sage@redhat.com>
Thu, 10 Sep 2015 14:35:11 +0000 (10:35 -0400)
This will be used to verify leak detection tests are working.

Signed-off-by: Sage Weil <sage@redhat.com>
src/common/config_opts.h
src/global/global_init.cc

index a09873666e319195f2556ccb49073676029def8a..de05abf6be647dbc42e1932608a8e0fd7b519d9d 100644 (file)
@@ -1136,3 +1136,5 @@ OPTION(throttler_perf_counter, OPT_BOOL, true) // enable/disable throttler perf
 // This will be set to true when it is safe to start threads.
 // Once it is true, it will never change.
 OPTION(internal_safe_to_start_threads, OPT_BOOL, false)
+
+OPTION(debug_deliberately_leak_memory, OPT_BOOL, false)
index ce044078fbe898ccfaa207b851d89d6b502b3a7e..4e6a6a6e9aa705d2f47b62d108fef6e3e46928f8 100644 (file)
@@ -240,6 +240,13 @@ void global_init(std::vector < const char * > *alt_def_args,
   // and opening the log file immediately.
   g_conf->call_all_observers();
 
+  // test leak checking
+  if (g_conf->debug_deliberately_leak_memory) {
+    derr << "deliberately leaking some memory" << dendl;
+    char *s = new char[1234567];
+    (void)s;
+  }
+
   if (code_env == CODE_ENVIRONMENT_DAEMON && !(flags & CINIT_FLAG_NO_DAEMON_ACTIONS))
     output_ceph_version();
 }