Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
(try to) avoid looping forever, temporarily.
authorAugustin Degomme <augustin.degomme@imag.fr>
Wed, 10 Dec 2014 13:25:01 +0000 (14:25 +0100)
committerAugustin Degomme <augustin.degomme@imag.fr>
Wed, 10 Dec 2014 13:25:17 +0000 (14:25 +0100)
This value was 10 before, and was set to 3 recently, but weirdly this caused vm migration simulations to loop forever.
It works with an infinite timeout, but the message is lost with a few values (1,2 ,3, 6, 9 were tested and failed, other ones up to 13 at least do succeed), while succeeding with other ones (after a few hundred timeouts, so this seems to be working)
So if an MSG expert sees this and can find the problem here ..

Test should still fail with this patch, but just because teshes were not requalified yet

src/msg/msg_vm.c

index 2cd4a4a..4d83a7d 100644 (file)
@@ -912,7 +912,7 @@ static int do_migration(msg_vm_t vm, msg_host_t src_pm, msg_host_t dst_pm)
     msg_task_t task = NULL;
     msg_error_t ret = MSG_TIMEOUT;
     while (ret == MSG_TIMEOUT && MSG_host_is_on(dst_pm)) //Wait while you receive the message o
-     ret = MSG_task_receive_with_timeout(&task, ms->mbox_ctl, 3);
+     ret = MSG_task_receive_with_timeout(&task, ms->mbox_ctl, 4);
 
     xbt_free(ms->mbox_ctl);
     xbt_free(ms->mbox);