Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Plisson <damien.plisson@yahoo.fr>2009-12-17 20:05:28 +0300
committerDamien Plisson <damien.plisson@yahoo.fr>2009-12-17 20:05:28 +0300
commit1975ee5eecc17514b441fb9ac921063c38fcabc4 (patch)
treeb17498faf199f276e843c30767d6b06577e3c9a1 /intern/elbeem
parent4271a40ee7a53029f04389234278b7f64d834a11 (diff)
OSX vs OpenMP : implement workaround to fix crashes when using mop from a background thread
Fix# 20043 & 20392 The issue is that OSX lib does not implement TLS (Thread Local Storage), so libgomp uses pthread functions to read/write thread specific vars. But this implementation is currently (gcc 4.2) buggy : the write function is called only at lib start (in main thread), and the var is undefined for background thread. The workaround is to perform this gomp_tls_key var write at beginning of background threads that use openMP. (Currently: render & fluidsim)
Diffstat (limited to 'intern/elbeem')
-rw-r--r--intern/elbeem/CMakeLists.txt4
-rw-r--r--intern/elbeem/SConscript3
2 files changed, 3 insertions, 4 deletions
diff --git a/intern/elbeem/CMakeLists.txt b/intern/elbeem/CMakeLists.txt
index b59554e5709..e541d334086 100644
--- a/intern/elbeem/CMakeLists.txt
+++ b/intern/elbeem/CMakeLists.txt
@@ -33,9 +33,9 @@ IF(WINDOWS)
ADD_DEFINITIONS(-DUSE_MSVC6FIXES)
ENDIF(WINDOWS)
-IF(WITH_OPENMP AND NOT APPLE)
+IF(WITH_OPENMP)
ADD_DEFINITIONS(-DPARALLEL=1)
-ENDIF(WITH_OPENMP AND NOT APPLE)
+ENDIF(WITH_OPENMP)
BLENDERLIB_NOLIST(bf_elbeem "${SRC}" "${INC}")
#, libtype='blender', priority=0 )
diff --git a/intern/elbeem/SConscript b/intern/elbeem/SConscript
index ef411d0eb03..0900ab1db5c 100644
--- a/intern/elbeem/SConscript
+++ b/intern/elbeem/SConscript
@@ -8,8 +8,7 @@ sources = env.Glob('intern/*.cpp')
defs = 'NOGUI ELBEEM_BLENDER=1'
if env['WITH_BF_OPENMP']:
- if env['OURPLATFORM'] != 'darwin':
- defs += ' PARALLEL'
+ defs += ' PARALLEL'
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
defs += ' USE_MSVC6FIXES'