- xbt_dynar_foreach(vms,i,vm) {
- msg_vm_t vm = xbt_dynar_get_as(vms,i,msg_vm_t);
- char slavename[64];
- sprintf(slavename,"Slave %ld",i+xbt_dynar_length(vms));
- char**argv=xbt_new(char*,3);
- argv[0] = xbt_strdup(slavename);
- argv[1] = bprintf("%ld",i+xbt_dynar_length(vms));
- argv[2] = NULL;
- MSG_vm_bind(vm, MSG_process_create_with_arguments(slavename,slave_fun,NULL,slaves[i],2,argv));
- }
-
- XBT_INFO("Reboot all the VMs");
- xbt_dynar_foreach(vms,i,vm) {
- MSG_vm_reboot(vm);
+ xbt_dynar_foreach(vms, i, vm) {
+ unsigned int index = i + xbt_dynar_length(vms);
+ char *vm_name = bprintf("VM%02d", i);
+ char *pr_name = bprintf("WRK%02d", index);
+ char *mbox = bprintf("MBOX:WRK%02d", index);
+
+ char **wrk_argv = xbt_new(char*, 3);
+ wrk_argv[0] = pr_name;
+ wrk_argv[1] = mbox;
+ wrk_argv[2] = NULL;
+
+ XBT_INFO("put %s on %s", pr_name, vm_name);
+ MSG_process_create_with_arguments(pr_name, worker_fun, NULL, vm, 2, wrk_argv);