From: Sage Weil Date: Mon, 20 Apr 2009 22:17:13 +0000 (-0700) Subject: config: set g_daemon flag; only create pid file is daemon (even if in foreground) X-Git-Tag: v0.7.3~94 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c42ed2bb5225f4b35a7b4a7d5bee05d22622e400;p=ceph.git config: set g_daemon flag; only create pid file is daemon (even if in foreground) --- diff --git a/src/ceph.cc b/src/ceph.cc index ca8e09855e030..439594711130a 100644 --- a/src/ceph.cc +++ b/src/ceph.cc @@ -580,7 +580,6 @@ int main(int argc, const char **argv, const char *envp[]) // start up network rank.bind(); - g_conf.daemonize = false; // not us! messenger = rank.register_entity(entity_name_t::ADMIN()); messenger->set_dispatcher(&dispatcher); diff --git a/src/common/common_init.cc b/src/common/common_init.cc index 34777aca1f9b4..8ea3adfb2faa5 100644 --- a/src/common/common_init.cc +++ b/src/common/common_init.cc @@ -7,6 +7,7 @@ void common_init(std::vector& args, const char *module_type, bool d tls_init(); tls_get_val()->disable_assert = 0; + g_daemon = daemon; if (daemon) { cout << " ** WARNING: Ceph is still under heavy development, and is only suitable for **\n"; cout << " ** testing and review. Do not trust it with important data. **" << std::endl; diff --git a/src/config.cc b/src/config.cc index bf96d688eb0ca..da10d2ba2085b 100644 --- a/src/config.cc +++ b/src/config.cc @@ -138,11 +138,11 @@ std::map g_fake_kill_after; entity_addr_t g_my_addr; md_config_t g_conf; +bool g_daemon = false; #include #include - void env_to_vec(std::vector& args) { char *p = getenv("CEPH_ARGS"); diff --git a/src/config.h b/src/config.h index c422f1114bb25..eff01383a3e3c 100644 --- a/src/config.h +++ b/src/config.h @@ -39,6 +39,8 @@ extern const char *get_pool_name(int pool); extern entity_addr_t g_my_addr; +extern bool g_daemon; + struct md_config_t { char *type; char *id; diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc index 995b0bf5d2ff0..b6eaadb85e631 100644 --- a/src/msg/SimpleMessenger.cc +++ b/src/msg/SimpleMessenger.cc @@ -409,7 +409,7 @@ int Rank::start(bool nodaemon) } _dout_rename_output_file(); - } else { + } else if (g_daemon) { write_pid_file(getpid()); }