diff options
author | Damien Plisson <damien.plisson@yahoo.fr> | 2009-12-17 20:05:28 +0300 |
---|---|---|
committer | Damien Plisson <damien.plisson@yahoo.fr> | 2009-12-17 20:05:28 +0300 |
commit | 1975ee5eecc17514b441fb9ac921063c38fcabc4 (patch) | |
tree | b17498faf199f276e843c30767d6b06577e3c9a1 /source/blender/editors/CMakeLists.txt | |
parent | 4271a40ee7a53029f04389234278b7f64d834a11 (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 'source/blender/editors/CMakeLists.txt')
-rw-r--r-- | source/blender/editors/CMakeLists.txt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/editors/CMakeLists.txt b/source/blender/editors/CMakeLists.txt index 04c310ba7df..c695ea02508 100644 --- a/source/blender/editors/CMakeLists.txt +++ b/source/blender/editors/CMakeLists.txt @@ -71,6 +71,10 @@ IF(WITH_FFMPEG) ADD_DEFINITIONS(-DWITH_FFMPEG) ENDIF(WITH_FFMPEG) +IF(WITH_OPENMP) + ADD_DEFINITIONS(-DPARALLEL=1) +ENDIF(WITH_OPENMP) + IF(NOT WITH_ELBEEM) ADD_DEFINITIONS(-DDISABLE_ELBEEM) ENDIF(NOT WITH_ELBEEM) |