From: alegrand Date: Wed, 26 Jan 2005 17:10:42 +0000 (+0000) Subject: Bug fix: a task could sometimes not be immediately forwarded. X-Git-Tag: v3.3~4582 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/79adfdb539deedcac38651c4f8c9b0a8767beb23?hp=28800061ff3b3913fc2e1cfbdc9d15211cf3a3f2 Bug fix: a task could sometimes not be immediately forwarded. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@768 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/msg/gos.c b/src/msg/gos.c index feb7153b6d..7cfb055c7a 100644 --- a/src/msg/gos.c +++ b/src/msg/gos.c @@ -90,6 +90,11 @@ MSG_error_t MSG_task_get(m_task_t * task, state=surf_workstation_resource->common_public->action_get_state(t_simdata->comm); } while (state==SURF_ACTION_RUNNING); + if(t->simdata->using>1) { + xbt_fifo_unshift(msg_global->process_to_run,process); + xbt_context_yield(); + } + if(state == SURF_ACTION_DONE) MSG_RETURN(MSG_OK); else if(surf_workstation_resource->extension_public->get_state(h_simdata->host) == SURF_CPU_OFF)