Browse Source

Make sure starpu_init is only called once before calling starpu_shutdown.

Cyril Roelandt 13 years ago
parent
commit
3d87cf096d
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/core/workers.c

+ 6 - 0
src/core/workers.c

@@ -400,6 +400,12 @@ int starpu_init(struct starpu_conf *user_conf)
 #endif
 
 	_STARPU_PTHREAD_MUTEX_LOCK(&init_mutex);
+	if (init_count > 0)
+	{
+		_STARPU_PTHREAD_MUTEX_UNLOCK(&init_mutex);
+		return;
+	}
+		
 	while (initialized == CHANGING)
 		/* Wait for the other one changing it */
 		_STARPU_PTHREAD_COND_WAIT(&init_cond, &init_mutex);