Selaa lähdekoodia

- Fix the name of the methods to manipulate task lists
- Do not try to pop a task from an empty queue

Cédric Augonnet 15 vuotta sitten
vanhempi
commit
2d3c7f5584
2 muutettua tiedostoa jossa 8 lisäystä ja 6 poistoa
  1. 2 2
      include/starpu_task_list.h
  2. 6 4
      src/util/starpu_task_list.c

+ 2 - 2
include/starpu_task_list.h

@@ -46,9 +46,9 @@ int starpu_task_list_empty(struct starpu_task_list *list);
 void starpu_task_list_erase(struct starpu_task_list *list, struct starpu_task *task);
 
 /* Remove the element at the front of the list */
-struct starpu_task *starpu_task_pop_front(struct starpu_task_list *list);
+struct starpu_task *starpu_task_list_pop_front(struct starpu_task_list *list);
 
 /* Remove the element at the back of the list */
-struct starpu_task *starpu_task_pop_back(struct starpu_task_list *list);
+struct starpu_task *starpu_task_list_pop_back(struct starpu_task_list *list);
 						
 #endif // __STARPU_TASK_LIST_H__

+ 6 - 4
src/util/starpu_task_list.c

@@ -94,20 +94,22 @@ void starpu_task_list_erase(struct starpu_task_list *list,
 	task->next = NULL;
 }
 
-struct starpu_task *starpu_task_pop_front(struct starpu_task_list *list)
+struct starpu_task *starpu_task_list_pop_front(struct starpu_task_list *list)
 {
 	struct starpu_task *task = list->head;
 
-	starpu_task_list_erase(list, task);
+	if (task)
+		starpu_task_list_erase(list, task);
 
 	return task;
 }
 						
-struct starpu_task *starpu_task_pop_back(struct starpu_task_list *list)
+struct starpu_task *starpu_task_list_pop_back(struct starpu_task_list *list)
 {
 	struct starpu_task *task = list->tail;
 
-	starpu_task_list_erase(list, task);
+	if (task)
+		starpu_task_list_erase(list, task);
 
 	return task;
 }