Explorar o código

src/util/starpu_insert_task.c: destroy task when submission failed

Nathalie Furmento %!s(int64=13) %!d(string=hai) anos
pai
achega
7b9e955af0
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      src/util/starpu_insert_task.c

+ 8 - 1
src/util/starpu_insert_task.c

@@ -78,5 +78,12 @@ int starpu_insert_task(struct starpu_codelet *cl, ...)
 
 	va_start(varg_list, cl);
         struct starpu_task *task = starpu_task_create();
-        return _starpu_insert_task_create_and_submit(arg_buffer, cl, &task, varg_list);
+	int ret = _starpu_insert_task_create_and_submit(arg_buffer, cl, &task, varg_list);
+
+	if (ret == -ENODEV)
+	{
+		task->destroy = 0;
+		starpu_task_destroy(task);
+	}
+        return ret;
 }