瀏覽代碼

heteroprio: check that graph is available before accessing it

Ludovic PAILLAT 4 年之前
父節點
當前提交
9d2d48ef02
共有 1 個文件被更改,包括 21 次插入0 次删除
  1. 21 0
      src/sched_policies/heteroprio.c

+ 21 - 0
src/sched_policies/heteroprio.c

@@ -2745,6 +2745,13 @@ static double get_job_NOD(struct _starpu_heteroprio_data *hp, struct _starpu_job
 
 	struct _starpu_graph_node *node = job->graph_node;
 
+	if(!node)
+	{
+		// No information because the graph isn't available
+		_starpu_graph_wrunlock();
+		return 0.f;
+	}
+
 	unsigned n;
 	for(n=0;n<node->n_outgoing;++n)
 	{
@@ -2782,6 +2789,13 @@ static double get_job_NRT(struct _starpu_heteroprio_data *hp, struct _starpu_job
 
 	struct _starpu_graph_node *node = job->graph_node;
 
+	if(!node)
+	{
+		// No information because the graph isn't available
+		_starpu_graph_wrunlock();
+		return 0.f;
+	}
+
 	unsigned n;
 	for(n=0;n<node->n_outgoing;++n)
 	{
@@ -2885,6 +2899,13 @@ static double get_job_successors_best_time_sum(struct _starpu_heteroprio_data *h
 
 	struct _starpu_graph_node *node = job->graph_node;
 
+	if(!node)
+	{
+		// No information because the graph isn't available
+		_starpu_graph_wrunlock();
+		return 0.f;
+	}
+
 	unsigned n;
 	for(n=0;n<node->n_outgoing;++n)
 	{