From 054a5e8f0ef7d7b0cc627c244ad03ed5ae900e7b Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 15 Apr 2009 02:44:05 +0000 Subject: [PATCH] distributed slave nodes forking for each core to take advantage of multicore architectures git-svn-id: svn://anubis/fart/trunk@245 7f9b0f55-74a9-4bce-be96-3c2cd072584d --- main/fart.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/main/fart.cc b/main/fart.cc index e56486d..cd9b787 100644 --- a/main/fart.cc +++ b/main/fart.cc @@ -42,12 +42,22 @@ void startChildren(const string & servername, args.push_back(server_port_str); for (int i = 0, sz = options.size(); i < sz; i++) args.push_back(options[i]); + const char * char_star_args[args.size() + 1]; for (int i = 0, sz = args.size(); i < sz; i++) char_star_args[i] = args[i].c_str(); char_star_args[args.size()] = (char *) NULL; int num_children = sysconf(_SC_NPROCESSORS_CONF); + num_children--; + +#if 0 + /* debug */ + cout << "executing: 'fart', "; + for (int i = 0, sz = args.size(); i < sz; i++) + cout << "'" << char_star_args[i] << "', "; + cout << endl; +#endif for (int i = 0; i < num_children; i++) { @@ -203,9 +213,7 @@ int main(int argc, char * argv[]) { if (!child) { - startChildren(the_distrib.getServerName(), - the_distrib.getServerPort(), - client_options); + startChildren(server_name, server_port, client_options); } the_distrib.startClient(server_name, server_port);