MSG_vm_bind(vm, MSG_process_create_with_arguments(slavename,slave_fun,NULL,slaves[i],2,argv));
}
+ work_batch(slaves_count*2);
+
XBT_INFO("Migrate everyone to the second host.");
for (i=0;i<xbt_dynar_length(vms);i++)
MSG_vm_migrate(xbt_dynar_get_as(vms,i,msg_vm_t),slaves[1]);
MSG_vm_resume(vm);
}
- work_batch(slaves_count*2);
XBT_INFO("Let's shut down the simulation. 10 first processes will be shut down cleanly while the second half will forcefully get killed");
for (i = 0; i < slaves_count; i++) {
/* Ok, maestro returned control to us */
XBT_DEBUG("Control returned to me: '%s'", self->name);
+ if (self->new_host) {
+ SIMIX_process_change_host(self, self->new_host);
+ self->new_host = NULL;
+ }
+
if (self->context->iwannadie){
XBT_DEBUG("I wanna die!");
SIMIX_context_stop(self->context);
self->doexception = 0;
SMX_THROW();
}
-
- if (self->new_host) {
- SIMIX_process_change_host(self, self->new_host);
- self->new_host = NULL;
- }
}
/* callback: context fetching */