浏览代码

starpupy: when function result is not None type, unpack its char array

HE Kun 4 年之前
父节点
当前提交
2f589ef97c
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      starpupy/src/starpu_task_wrapper.c

+ 4 - 3
starpupy/src/starpu_task_wrapper.c

@@ -201,10 +201,9 @@ void cb_func(void *v)
 	starpu_codelet_unpack_arg(&data, &loop, sizeof(loop));
 	/*skip sb*/
 	starpu_codelet_unpack_discard_arg(&data);
-	/*get rv char*/
+	/*get rv_data_size*/
 	starpu_codelet_unpack_arg(&data, &rv_data_size, sizeof(rv_data_size));
-    rv_data = (char *)malloc(rv_data_size);
-    starpu_codelet_unpack_arg(&data, rv_data, rv_data_size);
+   
 	//starpu_codelet_unpack_arg(&data, &rv, sizeof(rv));
 
 	/*make sure we own the GIL*/
@@ -218,6 +217,8 @@ void cb_func(void *v)
 	/*else use cloudpickle to load rv*/
 	else
 	{
+		rv_data = (char *)malloc(rv_data_size);
+    	starpu_codelet_unpack_arg(&data, rv_data, rv_data_size);
 		rv=starpu_cloudpickle_loads(rv_data, rv_data_size);
 	}