#endif
parse_config_options(args);
+
+ {
+ // In the long term, it would be best to ensure that we read ceph.conf
+ // before initializing dout(). For now, just force a reopen here with the
+ // configuration we have just read.
+ DoutLocker _dout_locker;
+ _dout_open_log();
+ }
+
install_standard_sighandlers();
- #ifdef HAVE_LIBTCMALLOC
- if (g_conf.tcmalloc_profiler_run && g_conf.tcmalloc_have) {
- char profile_name[PATH_MAX];
- sprintf(profile_name, "%s/%s", g_conf.log_dir, g_conf.name);
- char *val = new char[sizeof(int)*8+1];
- sprintf(val, "%i", g_conf.profiler_allocation_interval);
- setenv("HEAP_PROFILE_ALLOCATION_INTERVAL", val, g_conf.profiler_allocation_interval);
- sprintf(val, "%i", g_conf.profiler_highwater_interval);
- setenv("HEAP_PROFILE_INUSE_INTERVAL", val, g_conf.profiler_highwater_interval);
- generic_dout(0) << "turning on heap profiler with prefix " << profile_name << dendl;
- g_conf.profiler_start(profile_name);
- }
- #endif //HAVE_LIBTCMALLOC
-
if (flags & STARTUP_FLAG_INIT_KEYS) {
if (is_supported_auth(CEPH_AUTH_CEPHX))
keyring_init(g_conf.keyring);