[Bf-blender-cvs] [d0d523d] master: Better fix for pthread ID comparison crap on windows.

Bastien Montagne noreply at git.blender.org
Mon Nov 2 19:25:32 CET 2015


Commit: d0d523d809e48882c75f10fdef7c6edd6dd888e6
Author: Bastien Montagne
Date:   Mon Nov 2 19:25:00 2015 +0100
Branches: master
https://developer.blender.org/rBd0d523d809e48882c75f10fdef7c6edd6dd888e6

Better fix for pthread ID comparison crap on windows.

Suggested by Sergey, thanks!

===================================================================

M	source/blender/blenlib/intern/task.c

===================================================================

diff --git a/source/blender/blenlib/intern/task.c b/source/blender/blenlib/intern/task.c
index b37bb43..a5325aa 100644
--- a/source/blender/blenlib/intern/task.c
+++ b/source/blender/blenlib/intern/task.c
@@ -347,17 +347,15 @@ static TaskPool *task_pool_create_ex(TaskScheduler *scheduler, void *userdata, c
 	TaskPool *pool = MEM_callocN(sizeof(TaskPool), "TaskPool");
 
 #ifndef NDEBUG
-#  ifndef WIN32  /* WIN32 pthread_t seems to ba a struct, no direct comparison available, *sigh* */
 	/* Assert we do not try to create a background pool from some parent task - those only work OK from main thread. */
 	if (is_background) {
 		const pthread_t thread_id = pthread_self();
-        int i = scheduler->num_threads;
+		int i = scheduler->num_threads;
 
 		while (i--) {
-			BLI_assert(scheduler->threads[i] != thread_id);
+			BLI_assert(!pthread_equal(scheduler->threads[i], thread_id));
 		}
 	}
-#  endif
 #endif
 
 	pool->scheduler = scheduler;




More information about the Bf-blender-cvs mailing list