瀏覽代碼

pass pthread initializers through macros

Samuel Thibault 12 年之前
父節點
當前提交
f402db344f

+ 2 - 0
src/common/utils.h

@@ -81,6 +81,7 @@ const char *_starpu_codelet_get_model_name(struct starpu_codelet *cl);
 /*
  * Encapsulation of the pthread_mutex_* functions.
  */
+#define _STARPU_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
 #define _STARPU_PTHREAD_MUTEX_INIT(mutex, attr) do {                           \
 	int p_ret = pthread_mutex_init((mutex), (attr));                       \
 	if (STARPU_UNLIKELY(p_ret)) {                                          \
@@ -181,6 +182,7 @@ typedef pthread_cond_t _starpu_pthread_cond_t;
 /*
  * Encapsulation of the pthread_cond_* functions.
  */
+#define _STARPU_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER
 #define _STARPU_PTHREAD_COND_INIT(cond, attr) do {                             \
 	int p_ret = pthread_cond_init((cond), (attr));                         \
 	if (STARPU_UNLIKELY(p_ret)) {                                          \

+ 1 - 1
src/core/debug.c

@@ -21,7 +21,7 @@
 
 #ifdef STARPU_VERBOSE
 /* we want a single writer at the same time to have a log that is readable */
-static _starpu_pthread_mutex_t logfile_mutex = PTHREAD_MUTEX_INITIALIZER;
+static _starpu_pthread_mutex_t logfile_mutex = _STARPU_PTHREAD_MUTEX_INITIALIZER;
 static FILE *logfile;
 #endif
 

+ 2 - 2
src/core/task.c

@@ -32,8 +32,8 @@
 /* XXX this should be reinitialized when StarPU is shutdown (or we should make
  * sure that no task remains !) */
 /* TODO we could make this hierarchical to avoid contention ? */
-static _starpu_pthread_cond_t submitted_cond = PTHREAD_COND_INITIALIZER;
-static _starpu_pthread_mutex_t submitted_mutex = PTHREAD_MUTEX_INITIALIZER;
+static _starpu_pthread_cond_t submitted_cond = _STARPU_PTHREAD_COND_INITIALIZER;
+static _starpu_pthread_mutex_t submitted_mutex = _STARPU_PTHREAD_MUTEX_INITIALIZER;
 static long int nsubmitted = 0, nready = 0;
 
 static void _starpu_increment_nsubmitted_tasks(void);

+ 2 - 2
src/core/workers.c

@@ -37,8 +37,8 @@
 #endif
 
 /* acquire/release semantic for concurrent initialization/de-initialization */
-static _starpu_pthread_mutex_t init_mutex = PTHREAD_MUTEX_INITIALIZER;
-static _starpu_pthread_cond_t init_cond = PTHREAD_COND_INITIALIZER;
+static _starpu_pthread_mutex_t init_mutex = _STARPU_PTHREAD_MUTEX_INITIALIZER;
+static _starpu_pthread_cond_t init_cond = _STARPU_PTHREAD_COND_INITIALIZER;
 static int init_count = 0;
 static enum { UNINITIALIZED, CHANGING, INITIALIZED } initialized = UNINITIALIZED;
 

+ 2 - 2
src/datawizard/user_interactions.c

@@ -238,8 +238,8 @@ int starpu_data_acquire_on_node(starpu_data_handle_t handle, unsigned node, enum
 		.handle = handle,
 		.mode = mode,
 		.node = node,
-		.cond = PTHREAD_COND_INITIALIZER,
-		.lock = PTHREAD_MUTEX_INITIALIZER,
+		.cond = _STARPU_PTHREAD_COND_INITIALIZER,
+		.lock = _STARPU_PTHREAD_MUTEX_INITIALIZER,
 		.finished = 0
 	};
 

+ 1 - 1
src/drivers/opencl/driver_opencl.c

@@ -29,7 +29,7 @@
 #include "driver_opencl_utils.h"
 #include <common/utils.h>
 
-static _starpu_pthread_mutex_t big_lock = PTHREAD_MUTEX_INITIALIZER;
+static _starpu_pthread_mutex_t big_lock = _STARPU_PTHREAD_MUTEX_INITIALIZER;
 
 static cl_context contexts[STARPU_MAXOPENCLDEVS];
 static cl_device_id devices[STARPU_MAXOPENCLDEVS];

+ 1 - 1
src/profiling/bound.c

@@ -116,7 +116,7 @@ int _starpu_bound_recording;
 static int recorddeps;
 static int recordprio;
 
-static _starpu_pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+static _starpu_pthread_mutex_t mutex = _STARPU_PTHREAD_MUTEX_INITIALIZER;
 
 void starpu_bound_start(int deps, int prio)
 {

+ 1 - 1
src/top/starpu_top.c

@@ -40,7 +40,7 @@ struct starpu_top_param** starpu_top_params;
 
 sem_t starpu_top_wait_for_go;
 _starpu_pthread_mutex_t starpu_top_wait_for_continue_mutex;
-_starpu_pthread_cond_t starpu_top_wait_for_continue_cond = PTHREAD_COND_INITIALIZER;
+_starpu_pthread_cond_t starpu_top_wait_for_continue_cond = _STARPU_PTHREAD_COND_INITIALIZER;
 
 #undef _starpu_top_status_get
 int _starpu_top_status_get(void)