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:
authorTon Roosendaal <ton@blender.org>2006-02-09 22:58:32 +0300
committerTon Roosendaal <ton@blender.org>2006-02-09 22:58:32 +0300
commit9c003086fefe5a205cc5a09c7c827c364038ec97 (patch)
treea765d7e88a5739a3cb0d08b3402cbef5349a1673
parent5e3d30c276f33e57f4a8e726ec6593210ade0217 (diff)
Potential thread render bug/crashing:
Discovered I forget to re-enable the 'imbuf load' and 'envmap' mutexes.
-rw-r--r--source/blender/render/intern/source/initrender.c6
-rw-r--r--source/blender/render/intern/source/pipeline.c6
2 files changed, 4 insertions, 8 deletions
diff --git a/source/blender/render/intern/source/initrender.c b/source/blender/render/intern/source/initrender.c
index 19d593a9409..b01868a7875 100644
--- a/source/blender/render/intern/source/initrender.c
+++ b/source/blender/render/intern/source/initrender.c
@@ -661,12 +661,6 @@ void initparts(Render *re)
}
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
-// exported to other files, belongs in include... later
-SDL_mutex *render_abuf_lock=NULL, *load_ibuf_lock=NULL;
-
-
/* **************************************************************** */
/* sticky texture coords */
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 0fc94196192..2d14c15c6c8 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -107,7 +107,7 @@ Render R;
/* ********* alloc and free ******** */
-SDL_mutex *malloc_lock= NULL;
+SDL_mutex *malloc_lock= NULL, *load_ibuf_lock=NULL;
void *RE_mallocN(int len, char *name)
{
@@ -756,7 +756,8 @@ static void threaded_tile_processor(Render *re)
/* set threadsafety */
R.test_break= thread_break;
- malloc_lock = SDL_CreateMutex();
+ malloc_lock= SDL_CreateMutex();
+ load_ibuf_lock= SDL_CreateMutex();
/* timer loop demands to sleep when no parts are left */
nextpa= find_next_part(re);
@@ -809,6 +810,7 @@ static void threaded_tile_processor(Render *re)
/* restore threadsafety */
if(malloc_lock) SDL_DestroyMutex(malloc_lock); malloc_lock= NULL;
+ if(load_ibuf_lock) SDL_DestroyMutex(load_ibuf_lock); load_ibuf_lock= NULL;
g_break= 0;
BLI_end_threads(&threads);