From: alegrand Date: Wed, 1 Jun 2005 19:45:21 +0000 (+0000) Subject: SURF won't try to bring this process to life anymore. X-Git-Tag: v3.3~4038 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3595431d9a94c0b3833f488667f286529449b5ef SURF won't try to bring this process to life anymore. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1317 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/msg/m_process.c b/src/msg/m_process.c index 813bef2388..2131afab83 100644 --- a/src/msg/m_process.c +++ b/src/msg/m_process.c @@ -136,6 +136,8 @@ void MSG_process_kill(m_process_t process) int i; simdata_process_t p_simdata = process->simdata; simdata_host_t h_simdata= p_simdata->host->simdata; + int _cursor; + m_process_t proc = NULL; /* fprintf(stderr,"Killing %s(%d) on %s.\n",process->name, */ /* p_simdata->PID,p_simdata->host->name); */ @@ -148,6 +150,10 @@ void MSG_process_kill(m_process_t process) } if (i==msg_global->max_channel) { if(p_simdata->waiting_task) { + xbt_dynar_foreach(p_simdata->waiting_task->simdata->sleeping,_cursor,proc) { + if(proc==process) + xbt_dynar_remove_at(p_simdata->waiting_task->simdata->sleeping,_cursor,&proc); + } if(p_simdata->waiting_task->simdata->compute) surf_workstation_resource->common_public-> action_free(p_simdata->waiting_task->simdata->compute);