long number_of_jobs;
long number_of_slaves;
-long my_random(long n) {
- return n*(rand()/(RAND_MAX+1));
+static long my_random(long n)
+{
+ return n * (rand() / ((double)RAND_MAX + 1));
}
/** Emitter function */
{
m_task_t task = NULL;
_XBT_GNUC_UNUSED int res;
- int id = -1;
XBT_DEBUG("mailbox: %s",MSG_process_get_name(MSG_process_self()));
while (1) {
exit(1);
}
- MSG_set_channel_number(0);
MSG_function_register("master", master);
MSG_function_register("slave", slave);
number_of_jobs = atol(argv[2]);
number_of_slaves = atol(argv[3]);
+ xbt_dynar_t host_dynar = MSG_hosts_as_dynar();
+ long number_max = xbt_dynar_length(host_dynar);
+ XBT_INFO("Got %ld slaves, %ld tasks to process, and %ld hosts", number_of_slaves, number_of_jobs,number_max);
- XBT_INFO("Got %ld slaves, %ld tasks to process, and %d hosts", number_of_slaves, number_of_jobs,MSG_get_host_number());
-
- m_host_t *host_table = MSG_get_host_table();
+ m_host_t *host_table = xbt_dynar_to_array(host_dynar);
+ //xbt_dynar_free(&host_dynar);
MSG_process_create( "master",
master,
NULL,
- host_table[my_random(number_of_slaves)]
+ host_table[my_random(number_max)]
);
for(i = 0 ; i<number_of_slaves; i++)
MSG_process_create( name_host,
slave,
NULL,
- host_table[my_random(number_of_slaves)]
+ host_table[my_random(number_max)]
);
free(name_host);
}