浏览代码

fix detection of pending transfers

Samuel Thibault 12 年之前
父节点
当前提交
b1ed89b939
共有 1 个文件被更改,包括 7 次插入5 次删除
  1. 7 5
      examples/interface/complex_interface.c

+ 7 - 5
examples/interface/complex_interface.c

@@ -152,16 +152,18 @@ static int copy_any_to_any(void *src_interface, unsigned src_node,
 {
 	struct starpu_complex_interface *src_complex = src_interface;
 	struct starpu_complex_interface *dst_complex = dst_interface;
-	int ret;
+	int ret = 0;
 
-	ret = starpu_interface_copy((uintptr_t) src_complex->real, 0, src_node,
+	if (starpu_interface_copy((uintptr_t) src_complex->real, 0, src_node,
 				    (uintptr_t) dst_complex->real, 0, dst_node,
 				     src_complex->nx*sizeof(src_complex->real[0]),
-				     async_data);
-	ret = starpu_interface_copy((uintptr_t) src_complex->imaginary, 0, src_node,
+				     async_data))
+		ret = -EAGAIN;
+	if (starpu_interface_copy((uintptr_t) src_complex->imaginary, 0, src_node,
 				    (uintptr_t) dst_complex->imaginary, 0, dst_node,
 				     src_complex->nx*sizeof(src_complex->imaginary[0]),
-				     async_data);
+				     async_data))
+		ret = -EAGAIN;
 	return ret;
 }