浏览代码

- check stacksize value
- remove done TODO

Olivier Aumage 10 年之前
父节点
当前提交
7bb150e964
共有 1 个文件被更改,包括 5 次插入4 次删除
  1. 5 4
      src/util/openmp_runtime_support.c

+ 5 - 4
src/util/openmp_runtime_support.c

@@ -397,8 +397,8 @@ static void starpu_omp_implicit_task_exec(void *buffers[], void *cl_arg)
 	{
 		task->starpu_buffers = buffers;
 		task->starpu_cl_arg = cl_arg;
-		STARPU_ASSERT (task->stack == NULL);
-		/* TODO: use ICV stack size info instead */
+		STARPU_ASSERT(task->stack == NULL);
+		STARPU_ASSERT(task->stacksize > 0);
 		task->stack = malloc(task->stacksize);
 		if (task->stack == NULL)
 			_STARPU_ERROR("memory allocation failed");
@@ -491,8 +491,8 @@ static void starpu_omp_explicit_task_exec(void *buffers[], void *cl_arg)
 		}
 		task->starpu_buffers = buffers;
 		task->starpu_cl_arg = cl_arg;
-		STARPU_ASSERT (task->stack == NULL);
-		/* TODO: use ICV stack size info instead */
+		STARPU_ASSERT(task->stack == NULL);
+		STARPU_ASSERT(task->stacksize > 0);
 		task->stack = malloc(task->stacksize);
 		if (task->stack == NULL)
 			_STARPU_ERROR("memory allocation failed");
@@ -608,6 +608,7 @@ static struct starpu_omp_task *create_omp_task_struct(struct starpu_omp_task *pa
 
 	if (owner_region->level > 0)
 	{
+		STARPU_ASSERT(owner_region->owner_device->icvs.stacksize_var > 0);
 		task->stacksize = owner_region->owner_device->icvs.stacksize_var;
 	}