Просмотр исходного кода

Fix comparing priorities in the case of INT_MIN vs INT_MAX

Samuel Thibault лет назад: 5
Родитель
Сommit
92f847f585
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      mpi/src/starpu_mpi_coop_sends.c

+ 6 - 1
mpi/src/starpu_mpi_coop_sends.c

@@ -62,7 +62,12 @@ static int _starpu_mpi_reqs_prio_compare(const void *a, const void *b)
 {
 	const struct _starpu_mpi_req * const *ra = a;
 	const struct _starpu_mpi_req * const *rb = b;
-	return (*rb)->prio - (*ra)->prio;
+	if ((*rb)->prio < (*ra)->prio)
+		return -1;
+	else if ((*rb)->prio == (*ra)->prio)
+		return 0;
+	else
+		return 1;
 }
 
 /* Sort the requests by priority and build a diffusion tree. Actually does something only once per coop_sends bag. */