From: Christophe ThiƩry Date: Mon, 25 Jul 2011 12:48:19 +0000 (+0200) Subject: Don't throw the impossible when the user cancels a non-running task X-Git-Tag: v3_6_2~188^2~11 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a48d223f9273f17a0941c576b578a3bbeb04f09f Don't throw the impossible when the user cancels a non-running task --- diff --git a/src/msg/task.c b/src/msg/task.c index 2908b353fe..6d3065f942 100644 --- a/src/msg/task.c +++ b/src/msg/task.c @@ -189,7 +189,7 @@ MSG_error_t MSG_task_destroy(m_task_t task) /** \ingroup m_task_management * \brief Cancel a #m_task_t. - * \param task the taskt to cancel. If it was executed or transfered, it + * \param task the task to cancel. If it was executed or transfered, it stops the process that were working on it. */ MSG_error_t MSG_task_cancel(m_task_t task) @@ -198,13 +198,14 @@ MSG_error_t MSG_task_cancel(m_task_t task) if (task->simdata->compute) { SIMIX_req_host_execution_cancel(task->simdata->compute); - return MSG_OK; } - if (task->simdata->comm) { + else if (task->simdata->comm) { SIMIX_req_comm_cancel(task->simdata->comm); - return MSG_OK; } - THROW_IMPOSSIBLE; + else { + XBT_DEBUG("Task %p will not be cancelled since it is not running", task); + } + return MSG_OK; } /** \ingroup m_task_management