]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
csyn: fix msgr startup
authorSage Weil <sage@newdream.net>
Thu, 13 Nov 2008 22:36:48 +0000 (14:36 -0800)
committerSage Weil <sage@newdream.net>
Thu, 13 Nov 2008 22:36:48 +0000 (14:36 -0800)
src/csyn.cc

index 7d8ba9c360749454b98c8d756be3002a30aa5f92..404f8e769c108498c4e0aed153794dd51287b0d8 100644 (file)
@@ -57,7 +57,6 @@ int main(int argc, const char **argv, char *envp[])
   // start up network
   rank.bind();
   cout << "starting csyn at " << rank.get_rank_addr() << std::endl;
-  rank.start();
 
   rank.set_policy(entity_name_t::TYPE_MON, Rank::Policy::lossy_fast_fail());
   rank.set_policy(entity_name_t::TYPE_MDS, Rank::Policy::lossless());
@@ -70,11 +69,17 @@ int main(int argc, const char **argv, char *envp[])
   for (int i=0; i<g_conf.num_client; i++) {
     Client *client = new Client(rank.register_entity(entity_name_t(entity_name_t::TYPE_CLIENT,-1)), &monmap);
     SyntheticClient *syn = new SyntheticClient(client);
-    syn->start_thread();
     clients.push_back(client);
     synclients.push_back(syn);
   }
 
+  rank.start();
+
+  for (list<SyntheticClient*>::iterator p = synclients.begin(); 
+       p != synclients.end();
+       p++)
+    (*p)->start_thread();
+
   cout << "waiting for client(s) to finish" << std::endl;
   while (!clients.empty()) {
     Client *client = clients.front();