From f01d19431d0e2a14a007d5480e805b99dc933169 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Sat, 1 Mar 2014 20:46:58 +0100 Subject: Fix T38873: Crashing on undo of ocean modifier. Issue of this bug is that most part of fftw is not thread safe, only compute-intensive fftw_execute & co are. Since smoke was affected by this issue as well, a global fftw mutex was added to BLI_threads. Audaspace also uses fftw in one of its readers (AUD_BandPassReader.cpp), but this is not an issue currently since this code is disabled in CMake/scons files. There was another threading issue with smoke, we need to copy dm used by emit_from_derivedmesh(), as it is modified by this func. Reviewers: sergey, brecht Reviewed By: brecht CC: brecht Differential Revision: https://developer.blender.org/D374 --- source/blender/blenlib/BLI_threads.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/blenlib/BLI_threads.h') diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h index 3ccfcc023da..62eadb8a8b5 100644 --- a/source/blender/blenlib/BLI_threads.h +++ b/source/blender/blenlib/BLI_threads.h @@ -88,6 +88,7 @@ int BLI_system_num_threads_override_get(void); #define LOCK_NODES 6 #define LOCK_MOVIECLIP 7 #define LOCK_COLORMANAGE 8 +#define LOCK_FFTW 9 void BLI_lock_thread(int type); void BLI_unlock_thread(int type); -- cgit v1.2.3