浏览代码

adapt to DLB callback prototype changed to accept user arg

Olivier Aumage 6 年之前
父节点
当前提交
f419b8e14c
共有 1 个文件被更改,包括 8 次插入4 次删除
  1. 8 4
      starpurm/src/starpurm_dlb.c

+ 8 - 4
starpurm/src/starpurm_dlb.c

@@ -40,6 +40,9 @@
 #include <dlb_sp.h>
 #include <dlb_errors.h>
 
+/* TODO: autodetect DLB_CallbackSet_sp prototype extra arg */
+#define DLB_HAVE_CALLBACK_ARG
+
 /*
  * DLB interfacing
  */
@@ -236,17 +239,18 @@ void starpurm_dlb_init(struct s_starpurm *rm)
 	 * we only register cpu-based callbacks */
 	int dlb_ret;
 #ifdef STARPURM_STARPU_HAVE_WORKER_CALLBACKS
-	assert(DLB_CallbackSet_sp(dlb_handle, dlb_callback_disable_cpu, (dlb_callback_t)_dlb_callback_disable_cpu) == DLB_SUCCESS);
-	assert(DLB_CallbackSet_sp(dlb_handle, dlb_callback_enable_cpu, (dlb_callback_t)_dlb_callback_enable_cpu) == DLB_SUCCESS);
-	dlb_ret = DLB_CallbackSet_sp(dlb_handle, dlb_callback_disable_cpu, (dlb_callback_t)_dlb_callback_disable_cpu);
+#ifdef DLB_HAVE_CALLBACK_ARG
+	dlb_ret = DLB_CallbackSet_sp(dlb_handle, dlb_callback_disable_cpu, (dlb_callback_t)_dlb_callback_disable_cpu, NULL);
 	_dlb_check("DLB_CallbackSet_sp", dlb_ret);
-	dlb_ret = DLB_CallbackSet_sp(dlb_handle, dlb_callback_enable_cpu, (dlb_callback_t)_dlb_callback_enable_cpu);
+	dlb_ret = DLB_CallbackSet_sp(dlb_handle, dlb_callback_enable_cpu, (dlb_callback_t)_dlb_callback_enable_cpu, NULL);
 	_dlb_check("DLB_CallbackSet_sp", dlb_ret);
+#else
 	dlb_ret = DLB_CallbackSet_sp(dlb_handle, dlb_callback_disable_cpu, (dlb_callback_t)_dlb_callback_disable_cpu);
 	_dlb_check("DLB_CallbackSet_sp", dlb_ret);
 	dlb_ret = DLB_CallbackSet_sp(dlb_handle, dlb_callback_enable_cpu, (dlb_callback_t)_dlb_callback_enable_cpu);
 	_dlb_check("DLB_CallbackSet_sp", dlb_ret);
 #endif
+#endif
 
 	dlb_ret = DLB_Enable_sp(dlb_handle);
 	_dlb_check("DLB_Enable_sp", dlb_ret);