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
This commit is contained in:
Josh Holtrop 2009-04-15 02:44:05 +00:00
parent f6c6e8ec36
commit 054a5e8f0e

View File

@ -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);