[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